私はこれを正常に照会します:
SELECT * FROM tableA
WHERE NOT (column1 IN
(SELECT column1 FROM tableB) AND columnDate='9999-12-31');
約35000k tableA
(3500 万) のレコードがあり、tableB
5k (5,000) のレコードがあります。5 分以内にtableA
除くすべてのレコードを取得します。tableB
問題は、(同じレコード数の別の例で) 3 つの列 (キー) を使用して同じ結果を達成しようとしたときです。
SELECT * FROM tableA
WHERE NOT (column1 || column2 || column3 IN
(SELECT column1 || column2 || column3 FROM tableB) AND columnDate='9999-12-31');
1 時間 40 分tableA
を除くすべてのレコードを取得します....!tableB
より効率的にクエリを実行できますか?