본문 바로가기
IT/MSSQL

[SQL프로파일] Showplan 설정 테스트

by 베베야 2023. 11. 18.
728x90

MSSQL 도구 중 하나인 SQL프로파일러는 실시간 쿼리 수집이 가능한 모니터링 도구이다.

프로파일러는 SSMS를 실행 후 상단바의 도구 -> SQL Server Profiler를 클릭하면 접속이 가능하다.

SQL프로파일러는 쿼리의 실행계획을 볼 수 있는 추적 이벤트가 존재하는데

그래픽 실행계획을 보는 이벤트인 "Showplan"을 설정하는 방법을 아래에서 알아보자

 

※주의 : 운영중인 디비에 사용시 조건을 타이트 하게 하여 부하를 최소화 하고 사용해야한다.(예: 실행시간 10초 이상인 쿼리만 보기)


Showplan 추적 이벤트

추적이벤트는 Performance 이벤트를 열면 보이며

아래의 2가지 Showplan 추적 이벤트는 그래픽 실행계획을 확인 할 수 있는 이벤트이다.

 

1.Showplan XML

쿼리 최적화 중 수집된 전체 데이터와 쿼리 계획을 표시합니다.

이 이벤트는 쿼리 계획이 최적화될 때만 생성됩니다.(예상 실행계획)

 

2.Showplan XML Statistics Profile

전체 런타임 정보와 쿼리 계획을 XML 형식으로 표시합니다.

예를 들어 이 이벤트 클래스는 실행되는 Transact-SQL 문의 각 연산자를 통해 전달되는 행의 수를 캡처합니다. (실제 실행계획)


실행계획 차이점 비교

그러면 쿼리 실행시 Showplan XML과 Showplan XML Statistics Profile 의 차이점을 실제로 확인해보자

 

Showplan XML

위에서 설명했듯이 예상실행계획이다.

 

Showplan XML Statistics Profile

위에서 설명했듯이 실제실행계획이다.


쿼리결과

해당 SP의 실제 실행 결과는 999개 인 것을 볼 수 있다.


통계정보

인덱스 [PK_no]에 대한 통계정보이다.

SP 실행구문 : exec [dbo].[P_test001_1] 1

SP내부쿼리문 : select * from test001 where no=@no --@no=1

 

No가 1인 컬럼이 999개 존재한다.

 

이렇게 SQL프로파일러 showplan 추적 이벤트를 이용하면

특정 조건의 쿼리에 대한 실행계획을 추적할 수 있다.

반응형
그리드형

댓글