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