1
나는 다음과 같은 최적화하는 방법을 찾고 있어요 :최적화 집계 쿼리
@gid이 매개 변수와 GID이 테이블에 인덱스 필드SELECT
(SELECT SUM(amount) FROM Txn_Log WHERE [email protected] AND txnType IN (3, 20)) AS pendingAmount,
(SELECT COUNT(1) FROM Txn_Log WHERE gid = @gid AND txnType = 11) AS pendingReturn,
(SELECT COUNT(1) FROM Txn_Log WHERE gid = @gid AND txnType = 5) AS pendingBlock
. 문제 : 각 하위 쿼리는 동일한 항목 집합에서 다시 실행됩니다. 세 번의 재실행은 두 개 이상입니다.
매우 좋으며, txnType IN (3, 20, 11, 5) –
으로 초기 선택을 제한 할 수도 있습니다. 또한 [gid] 및 [txnType] 필드에 인덱스를 사용하고 [amount ]를 사용하여 쿼리 자체가 테이블 자체를 보지 않도록합니다. [gid], [txnType], [amount]에 대한 표지 색인에서 오는 가장 큰 이점은 – MatBailie