これにより、オプティマイザはより効率的な他の方法を検討する機会を奪われるためです。
(オプティマイザーが決定を下す)データ分布がひどく歪んでいて、統計がそれを正しく表すことができない場合。
これらは異なるアルゴリズムです。
-
LOOP
ネストされたループです。外側のテーブルのレコードごとに、内側のテーブルで一致するものが検索されます(使用可能なインデックスを使用)。両方のテーブルのレコードのごく一部のみがJOIN
を満たす場合に最速 およびWHERE
条件。 -
MERGE
両方のテーブルをソートし、一致しないレコードをスキップして、ソート順にそれらをトラバースします。FULL JOIN
で最速 sおよび両方のレコードセットがすでに並べ替えられている場合(以前の並べ替え操作から、またはインデックスアクセスパスが使用されている場合) -
HASH
一時ストレージ(メモリまたはtempdb
)にハッシュテーブルを作成します )テーブルの1つから、他のテーブルの各レコードを検索します。いずれかのテーブルのレコードの大部分がWHERE
と一致する場合に最速 およびJOIN
状態。