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 추적 이벤트를 이용하면
특정 조건의 쿼리에 대한 실행계획을 추적할 수 있다.
'IT > MSSQL' 카테고리의 다른 글
[MSSQL] 복원 전 백업파일의 논리적 파일 위치 확인방법(FILELISTONLY) (0) | 2024.03.12 |
---|---|
[MSSQL]현재 세션의 SET OPTION 의 상태값을 확인하는 방법 (0) | 2024.03.12 |
[MSSQL] 엔터, 탭 제거 후 엑셀에 붙여넣기 (1) | 2023.11.18 |
[MSSQL] 데드락(교착상태) 테스트 예제 (1) | 2023.11.18 |
[MSSQL] 복사전용백업(COPY ONLY BACKUP) 실행방법 및 개념설명 (1) | 2023.11.18 |
댓글