특정 쿼리를 보지 않고도 확실하게 알기는 어렵지만 GROUP BY에 포함 된 열 수를 최소화하고 놀라운 성능 향상 (SQL2K에서는 leased)을 얻었습니다. 내부 질의. 보다 구체적으로 : OrderDetails (OrderID, ProductID, Quantity, Price) 및 Products (ProductID, ProductName) 테이블을 분류했다고 가정합니다. 이것에
select P.ProductID, ProductName, sum(Quantity * Price)
from Products as P
inner join OrderDetails as OD on P.ProductID = OD.ProductID
group by P.ProductID, ProductName
:이 쿼리를 변경하면 정수 인덱스에 그룹화하는 텍스트 값, 분류되지 않은 제품에 그룹화 한 후 빠른 때문에 두, 같은 테이블에 조인에도 불구하고
select X.ProductID, PP.ProductName, X.OrderValue
from
(
select P.ProductID, sum(Quantity * Price) as OrderValue
from Products as P
inner join OrderDetails as OD on P.ProductID = OD.ProductID
group by P.ProductID
) as X
inner join Products as PP on X.ProductID = P.ProductID
나에게 성능 향상을 줄 것이다 이름.