0
我有以下(相當傳統,做了一年或兩年前)SQL查詢。 SQL所在的網頁(在ASP.NET的SqlDataSource/GridView中使用)非常慢,我已經確定了這個查詢的緩慢程度 - 看起來是因爲子選擇。我已經嘗試過使用連接來希望加快速度,但我無法使其工作。有任何想法嗎?加快這個SQL查詢
我不會把整個查詢放在這裏,只是因爲我在沒有互聯網訪問的機器上工作,所以我將無法複製和粘貼,而大部分只是從主表中選擇。
SELECT ...,
CASE
WHEN di.Total = di.Delivered THEN 'Received'
ELSE 'Not Received' END AS 'Status',
...
FROM Deliveries AS d
LEFT OUTER JOIN (
SELECT Delivery,
COUNT(*) AS Total,
COUNT(CASE WHEN Status = 2 THEN 1 END) AS Delivered
FROM DeliveryItems
GROUP BY Delivery
) AS di ON d.ID = di.Delivery
任何提示?
您可以從查詢分析器添加執行計劃嗎?這通常會告訴你導致減速的步驟。 – Keith 2011-05-09 08:23:18
您在DeliveryItems.Delivery和Deliveries.ID上有正確的索引嗎? – spender 2011-05-09 08:25:23
重新標記 - ASP.Net的東西是不相關的,這是純粹的SQL – RichardW1001 2011-05-09 08:40:30