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

+ Recent posts