我成功查询了这个:
SELECT * FROM tableA
WHERE NOT (column1 IN
(SELECT column1 FROM tableB) AND columnDate='9999-12-31');
WheretableA
有大约 35000k(3500 万)条记录和tableB
5k(5000)条记录。我在不到 5 分钟的时间内检索了所有记录tableA
。tableB
问题是当我尝试(对于另一个具有相同记录量的示例)使用 3 列(键)来实现相同的结果时:
SELECT * FROM tableA
WHERE NOT (column1 || column2 || column3 IN
(SELECT column1 || column2 || column3 FROM tableB) AND columnDate='9999-12-31');
我检索了tableA
除tableB
1 小时 40 分钟以外的所有记录......!
我可以更有效地查询它吗?