テーブルAlphaには 30,000 行あり、テーブルBetaには 300 万行あります。の PKに関連Betaする外部キー も持っています。AlphaIdAlpha
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比較することに価値はありますか? AlphaBeta
WHERE
Alpha.Id = @alphaId
AND Beta.AlphaId = @alphaId