以下で説明するクエリの動作の違いについては明確ではありません。
具体的には、の概念については不明です
OPTION(LOOP JOIN)
。
1 番目のアプローチ:これは従来の結合であり、以下のすべてよりもコストがかかります。
SELECT *
FROM [Item Detail] a
LEFT JOIN [Order Detail] b ON a.[ItemId] = b.[fkItemId] OPTION (FORCE ORDER);
2番目のアプローチ:ソートされたデータを含むステートメントに含まOPTION
れ、単に最適化されています。
SELECT *
FROM [Item Detail] a
LEFT LOOP JOIN [Order Detail] b ON a.[ItemId] = b.[fkItemId] OPTION (FORCE ORDER);
3 番目のアプローチ:ここでは、クエリがどのように機能し、!!? が含まれているかが明確ではありませOPTION
んloop join
。
SELECT *
FROM [Item Detail] a
LEFT LOOP JOIN [Order Detail] b ON a.[ItemId] = b.[fkItemId] OPTION (LOOP JOIN);
違いや働き方、それぞれの利点を説明できる人はいますか?
注:これらはネストされた OR ハッシュ ループではありません。