我有两个表,其中 tableA 包含 100 万条记录,而另一个 tableB 包含 1300 万条记录,现在我想要 tableA 中那些不在 tableB 中的记录
我用下面的查询
SELECT tableA .mergedSSN,total_unique_ssn.unique_ssn FROM `tableA`,`tableB` WHERE tableA.mergedSSN <> tableB.unique_ssn
但是上面的查询时间太长了,请帮助我快速获取记录。
首先,按每个表中的列创建索引(如果您还没有)。然后,
SELECT
tableA.mergedSSN
FROM
tableA
LEFT JOIN
tableB ON tableA.mergedSSN=tableB.unique_ssn
WHERE
tableB.unique_ssn IS NULL
怎么样
SELECT tableA.unique_ssn FROM tableA
WHERE tableA.unique_ssn NOT IN (SELECT tableB.unique_ssn FROM tableB)
您需要确保将 tableA.unique_ssn 和 tableB.unique_ssn 作为索引字段。