我需要确定表格中缺少哪些记录,并将另一张表格进行比较。
我试过了:
SELECT * FROM tableA WHERE tableA.id NOT IN (SELECT tableB.id FROM tableB)
当数据当然很小但是tableA和tableB都有超过400k的记录并且进程卡住时,它通常有效吗?有更优化的方法吗?
答案 0 :(得分:3)
连接通常比IN和NOT IN子句更快。试试这个:
SELECT tableA.*
FROM tableA left join tableB on tableA.id = tableB.id
WHERE tableB.id is null