我有两个表,每个表有大约900k条记录,需要检查其中一个表是否缺少一些记录。我在网上找到了很多建议,其中包括:

SELECT tableB.ColumnOfInterest, tableB.City, tableB.Province
FROM tableB
WHERE tableB.ColumnOfInterest NOT IN (SELECT TableA.ColumnOfInterest
                                      FROM TableA)

然而,这个问题似乎是悬而未决的。5分钟后,它仍在查询。
有没有办法更快地完成这种比较/差异检测?

最佳答案

使用左联接而不是“不在”子查询来提高性能

 SELECT a.ColumnOfInterest , a.City, a.Province
    FROM tableB a
    left join TableA b on a.ColumnOfInterest =b.ColumnOfInterest
    where b.ColumnOfInterest is null

09-27 21:03