0

我需要确定一个表中缺少哪些记录,以另一个表进行比较。

我试过了:

SELECT * FROM tableA WHERE tableA.id NOT IN (SELECT tableB.id FROM tableB)

当然,当数据很小但 tableA 和 tableB 都有超过 400k 的记录并且进程卡住时,它通常可以工作,有没有更优化的方法来做到这一点?

4

1 回答 1

3

连接通常比 IN 和 NOT IN 子句快。尝试这个:

SELECT tableA.*
FROM tableA left join tableB on tableA.id = tableB.id
WHERE tableB.id is null
于 2012-11-22T20:58:21.740 回答