異なるデータベースに類似したスキーマを持つ2つの異なるテーブルがあります。これら2つのテーブル間でレコードを比較するための最良の方法は何ですか。最初のテーブルに存在するレコードを見つける必要があります。その対応するレコードは、いくつかのwhere句を使用して最初のテーブルからレコードをフィルタリングする2番目のテーブルには存在しません。これまでのところ、私はこのSQL構造を持ってきました:
Select t1_col1, t1_ col2 from table1
where t1_col1=<condition> AND
t1_col2=<> AND
NOT EXISTS
(SELECT * FROM
table2
WHERE
t1_col1=t2_col1 AND
t1_col2=t2_col2)
これを行うためのより良い方法はありますか?
上記のクエリは問題ないように見えますが、クエリの最初の部分では結果セットが大幅に減少するため、クエリの最初の部分の条件を評価せずに行ごとの比較を行っていると思われます。これは起こっていますか?