SQL Server 2008 실행 계획을 배우고 있으며 테스트를 위해 두 가지 쿼리를 실행하고 결과를 비교하려고했습니다.SQL Server 실행 계획 - 어떤 쿼리 성능이 좋은가
첫 번째 쿼리가 두 번째 쿼리보다 빠르게 실행됩니까? 나는 일반적으로 실행 비용 (성능 및 비용)을 확인합니다.
먼저 쿼리
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
(931 row(s) affected)
Table 'Worktable'. Scan count 0, logical reads 0, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'Visits'. Scan count 2, logical reads 1235, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'Assignments'. Scan count 1, logical reads 4657, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
SQL Server Execution Times:
CPU time = 203 ms, elapsed time = 198 ms.
번째 질의
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
(1 row(s) affected)
Table 'Worktable'. Scan count 0, logical reads 0, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'Visits'. Scan count 1, logical reads 19335, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'Assignments'. Scan count 1, logical reads 4657, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
SQL Server Execution Times:
CPU time = 109 ms, elapsed time = 250 ms.
'SET STATISTICS IO ON'및 'SET STATISTICS TIME ON'에 대한 실행 비용과 값을 살펴보고 비교할 필요가 있습니다 (모든 통계를 함께 제공해야 함). 쿼리가 성능 측면에서 더 잘 작동합니다. –
두 번째 imgae가 명확하지 않은 이유를 모르겠습니다. – user1263981
실행 시간 통계를 추가했습니다. – user1263981