DECLARE @City NVARCHAR(20);
SET @City='London';
SELECT C.CustomerID,COUNT(O.OrderID) AS NumOrders FROM dbo.Customers AS C
LEFT JOIN dbo.Orders AS O
ON C.CustomerID=O.CustomerID
WHERE C.City=@City
GROUP BY C.CustomerID
HAVING COUNT(O.OrderID)>5
ORDER BY NumOrders
SELECT C.CustomerID,COUNT(O.OrderID) AS NumOrders FROM dbo.Customers AS C
LEFT JOIN dbo.Orders AS O
ON C.CustomerID=O.CustomerID
WHERE C.City='London'
GROUP BY C.CustomerID
HAVING COUNT(O.OrderID)>5
ORDER BY NumOrders
?
為什么使用變量之后,第一個快過第二個,
第一個的執行開銷為43%
第二個的執行開銷為57%
關于sql server查詢的問題
白豬掌柜的
2018-12-07 04:06:54