我有2个表,每个表有900k条记录,需要检查其中一个表是否缺少一些记录。我尝试了许多网上的建议,包括:
SELECT tableB.ColumnOfInterest, tableB.City, tableB.Province
FROM tableB
WHERE tableB.ColumnOfInterest NOT IN (SELECT TableA.ColumnOfInterest
FROM TableA)
然而,这个问题似乎悬而未决。5分钟后,它仍在查询。
有没有办法更快地完成比较/差异检测?
3条答案
按热度按时间qlfbtfca1#
如前所述,使用not in和left join+not null的解决方案之间没有明显的区别。您的主要问题可能是缺少以下索引:
wz1wpwve2#
使用左连接而不是“not in”子查询来提高性能
fdbelqdn3#
使用
not exists
相反但是,这需要索引
tableB(ColumnName)
/TableA(ColumnName)