テーブルAlpha
には 30,000 行あり、テーブルBeta
には 300 万行あります。の PKに関連Beta
する外部キー も持っています。AlphaId
Alpha
SQL-Server にストアド プロシージャがあり、それが@alphaId
パラメーターとして使用されます。現在、私のコードは実行されます
SELECT Alpha.Id, Alpha.Field1, Alpha.Field2, Beta.Field3, Beta.Field4
FROM
Alpha
INNER JOIN Beta ON Alpha.Id = Beta.AlphaId
WHERE
Alpha.Id = @alphaId
ストアド プロシージャは少し遅いです。WHERE
句を代わりにフィルタするように変更すると、速度が上がりBeta
ますか?
WHERE
Beta.AlphaId = @alphaId
句を とテーブルの両方とWHERE
比較することに価値はありますか? Alpha
Beta
WHERE
Alpha.Id = @alphaId
AND Beta.AlphaId = @alphaId