比较MySQL中的表数据

时间:2012-11-22 20:56:10

标签: mysql sql select optimization compare

我需要确定表格中缺少哪些记录,并将另一张表格进行比较。

我试过了:

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

当数据当然很小但是tableA和tableB都有超过400k的记录并且进程卡住时,它通常有效吗?有更优化的方法吗?

1 个答案:

答案 0 :(得分:3)

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

SELECT tableA.*
FROM tableA left join tableB on tableA.id = tableB.id
WHERE tableB.id is null