1. SHOWPLAN_ALL(예상)
1) SET SHOWPLAN_ALL ON : SQL문을 실행하지 않고 예상 실행 계획(StmtText), 예상실행건수, 예상IO 등을 반환
2) SET SHOWPLAN_ALL OFF : 실행계획 OFF, SQL문 실행
(1) SHOWPLAN_ALL ON
SET SHOWPLAN_ALL ON
(2) SQL문 실행
select top 10 a.*
from sales.SalesOrderDetail a
where Productid = 777
(3) SQL문은 실행하지 않고 예상 실행계획 출력
(4) SHOWPLAN_ALL OFF
SET SHOWPLAN_ALL OFF
(5) SQL문 실행
select top 10 a.*
from sales.SalesOrderDetail a
where Productid = 777
(6) SQL문 실행 결과 출력
2. SHOWPLAN_TEXT(예상, StmtText만 출력)
1) SET SHOWPLAN_TEXT ON : 실행하지 않고 실행 계획(StmtText)만 출력
2) SET SHOWPLAN_TEXT OFF : 실행계획 OFF, SQL문 실행
(1) SHOWPLAN_TEXT ON
SET SHOWPLAN_TEXT ON
(2) SQL문 실행
select top 10 a.*
from sales.SalesOrderDetail a
where Productid = 777
(3) SQL문 실행하지 않고 예상 실행계획 출력
(4) SHOWPLAN_TEXT OFF > SQL문 실행 결과 출력
SET SHOWPLAN_TEXT OFF
3. 실제 실행 계획 측정
1) SET STATISTICS PROFILE ON : 행 - 각 연산자에서 만든 실제 행 수, Executes - 연산자가 실행된 횟수
2) SET STATISTICS IO ON : 논리적 I/O, 물리적 I/O
3) SET STATISTICS TIME ON : 시간 통계
(1) STATISTICS PROFILE ON, STATISTICS IO ON, STATISTICS TIME ON
SET SHOWPLAN_TEXT OFF
SET STATISTICS PROFILE ON
SET STATISTICS IO ON
SET STATISTICS TIME ON
(2) SQL문 실행
select top 10 a.*
from sales.SalesOrderDetail a
where Productid = 777
(3) SQL문 실행 결과 및 실제 실행계획 출력
[결과]
[메시지]
'MSSQL > SQL튜닝(메타)' 카테고리의 다른 글
MSSQL 악성SQL추출하기 (1) | 2024.10.31 |
---|---|
MSSQL 실제 튜닝 절차 예제 (0) | 2024.10.22 |
MSSQL INDEX Rebuild 작업 (0) | 2024.09.27 |
MSSQL BLOCKING 대상 수집 (0) | 2024.09.27 |
MSSQL SQL Trace 수집 (0) | 2024.09.26 |