で実行私は、次のような基本的なクエリEXISTS、NOT WHEREありますSELECT COUNT(*)を選択し、VS * Teradataの
select count(*)
from TableA a
where not exists (Select 1 from TableB b where a.ID = b.ID);
テーブルAがテーブルB
と同じ程度8562212、レコード、とき、私を持っているが上記のクエリを実行すると無期限に実行されます。私はちょうど
select *
で
select count(*)
を交換すると、クエリは2秒と0を返す行(予想通り)で実行されます。また、私はそれが2秒で実行され、0行を返すカウントダウン(*)を使用して、どこに存在していない(TableBが存在しない....テーブルA)の逆を実行するとき。
唯一の問題は、上記のクエリです。私は、多くの多くのDBテーブルで同様のクエリを実行し、この問題に遭遇したことはないと付け加えます。これがなぜ起こっているのでしょうか?私は困惑している。ありがとう
両方のテーブルがidカラムに基づいてプライマリインデックスを必要とする可能性があります –
Explainsを投稿できますか? – dnoeth