본문 바로가기
MS-SQL

[MS-SQL] CPU 사용량 높은 쿼리 조회

by 김뽀씨 2022. 11. 10.

SELECT TOP 20
 [Average CPU used] = total_worker_time / qs.execution_count --평균 CPU 사용량
,[Total CPU used] = total_worker_time --CPU 총 사용량
,[Last CPU used] = last_worker_time --마지막 CPU 사용량
,[MAX CPU used] = max_worker_time --최대 CPU 사용량
,[Execution count] = qs.execution_count --실행횟수
,[Individual Query] = SUBSTRING (qt.text,qs.statement_start_offset/2, 
         (CASE WHEN qs.statement_end_offset = -1 
            THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2 
          ELSE qs.statement_end_offset END - qs.statement_start_offset)/2)
,[Parent Query] = qt.text
,DatabaseName = DB_NAME(qt.dbid) --값이 NULL 이면 서버에 캐쉬되지 않고 즉석해서 만들어진 쿼리(adhoc쿼리).
,qs.creation_time --만들어진 시간
,qs.last_execution_time --마지막 실행시간
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
--WHERE qt.dbid in('41','42') -- 데이터베이스를 조건문을 줘서 지정할 수 있음
ORDER BY [Average CPU used] DESC; 
--[Total CPU used] DESC, 

[출처] https://bebeya.tistory.com/entry/MSSQL-CPU-%EC%82%AC%EC%9A%A9%EB%9F%89-%EC%A1%B0%ED%9A%8C-%EB%A7%88%EC%A7%80%EB%A7%89-%EC%B5%9C%EA%B3%A0-%EC%82%AC%EC%9A%A9%EA%B1%B4-%EC%8B%A4%ED%96%89%EA%B1%B4%EC%88%98

'MS-SQL' 카테고리의 다른 글

SQL SERVER TempDB  (0) 2023.03.02
Float() 조심!  (0) 2023.01.26
VARCHAR, NVARCHAR  (0) 2022.08.19
[MS-SQL] LIKE 검색이 안된다?  (0) 2022.07.25
[MS-SQL] TABLE PARTITION  (0) 2022.07.11