1
在相關的嵌套查詢中有WHERE子句,或者在外部查詢中只有WHERE子句,性能會好壞多少?例如:下面的嵌套查詢定義price_key,但外部查詢有一個price_key引用,也外查詢的WHERE語句相關嵌套查詢的查詢優化(SQL Server)
INNER JOIN (
SELECT inv.item_key, s.price_key, MAX(inv.last_receive_cost/inv.last_receive_units_case) AS [unit_cost]
FROM inventory inv
INNER JOIN stores s on inv.location_key = s.store_key
WHERE inv.on_hand_inventory_qty > 0
AND inv.last_receive_cost > 0
AND inv.last_receive_units_case > 0
AND s.price_key = (29)
GROUP BY inv.item_key, s.price_key
) t ON r.item_key = t.item_key and r.price_key = t.price_key
這是最好的早期篩選 – Paparazzi
你可以簡單地把兩個版本彼此相鄰,並期待在定義結果查詢計劃。如果事實證明,查詢優化器對兩個版本都使用相同的查詢計劃,那就不足爲奇了。 – deroby