書かれているように、それらは同一です。チャールズからの素晴らしい答え。
実行プランが異なるかどうかを知りたい場合は、SSMSで実行プランを表示するだけです。
速度については、結合で使用される列にインデックスを付けます。
インデックスを維持する-断片化されたインデックスはそれほど効果的ではありません。
クエリプランは常に同じであるとは限りません。
クエリオプティマイザは統計を保持し、データのプロファイルが変更されると、最適なプランが変更される可能性があります。
何千もの行は多くありません。
数百万に達したら、インデックスと構文を(ヒントを使用して)調整します。
調整するのに十分なデータを取得する前に、数百万に達する必要がある場合があります。
同等で、場合によってはより高速なUNION演算子もあります。
結合ヒントループは対称ではないため、その場合、クエリプランは次の場合とは異なりますが、それでも同じ結果になります。
1つがPKテーブルの場合、私は常にそれを最初に置きます。
この場合、最初の速度は2番目の速度の2倍です。
select top 10 docSVsys.sID, docMVtext.fieldID
from docSVsys
inner loop join docMVtext
on docMVtext.sID = docSVsys.sID
where docSVsys.sID < 100
order by docSVsys.sID, docMVtext.fieldID
select top 10 docSVsys.sID, docMVtext.fieldID
from docMVtext
inner loop join docSVsys
on docMVtext.sID = docSVsys.sID
where docSVsys.sID < 100
order by docSVsys.sID, docMVtext.fieldID
高度なクエリチューニングの概念