私はそれぞれ10mil以上のレコードを持つ2つの大きなテーブルを持っています。私はテーブルのどれが欠けているかを調べようとしています。テーブルの同一のスキーマを持っており、このよう2つの大きなテーブルで複数の行を比較する
を見て表1
| ColA | ColB | ColC |
|:-----------|------------:|:------------:|
| John | Steve | Richardson |
| Steve | Richard | Johnson |
| Will | Jack | Jackson |
表2
| ColA | ColB | ColC |
|:-----------|------------:|:------------:|
| John | Steve | Richardson |
| Will | Jack | Jackson |
私は次のことを試してみましたスティーブ・リチャード・ジョンソン記録
を探していますクエリですが、タイムアウトします。
SELECT *
FROM `Table1` AS a
WHERE NOT EXISTS
(SELECT * FROM `Table2` AS b WHERE
`a`.`ColA` = `b`.`ColA` AND `a`.`ColB` = `b`.`ColB` AND `a`.`ColC` = `b`.`ColC`)
以下のような非一致する行を取得するには、T1からtable2ので合流左Applyを1 – Strawberry
@Strawberry私はtable2から抜けている行だけに興味があります –