SQLクエリでパフォーマンスの問題があります。 これは私がパラメータでのSQL Serverパフォーマンスの問題
@totalCount int
SELECT @totalCount = COUNT(DISTINCT pro.product_id)
FROM product AS pro
INNER JOIN product_to_category AS proCat ON pro.product_id = proCat.product_id
INNER JOIN product_to_vendor proVen ON pro.product_id = proVen.product_id
WHERE pro.site_id = 28
AND pro.product_type <> 3
print @totalCount
を次のようにパラメータを削除して、再度クエリを実行すると、
、それはわずか2秒で..それを実行するために6秒かかるである私のクエリ
declare @siteId int,
@totalCount int
SELECT @totalCount = COUNT(DISTINCT pro.product_id)
FROM product AS pro
INNER JOIN product_to_category AS proCat ON pro.product_id = proCat.product_id
INNER JOIN product_to_vendor proVen ON pro.product_id = proVen.product_id
WHERE pro.site_id = @siteId
AND pro.product_type <> 3
print @totalCount
です。
このようなクエリのパフォーマンスを向上させる方法はありますか? なぜパラメータに値を割り当てるのに時間がかかりますか? コメント....
テーブルにインデックスを作成していますか? – Taryn
@ Tharaka、ハードコードされたバージョンを実行した直後*クエリのパラメータ化されたバージョンを再実行しようとしましたか?もしそうなら、どれくらいかかりましたか? –
product.site_id intですか? – gbn