SQL Server

[MSSQL] 4. CPU 비용이 높은 쿼리 조회

푸팟퐁쿼리 2023. 4. 14. 11:54
SELECT TOP 50 query_stats.query_hash AS 'Query Hash',   
    SUM(query_stats.total_worker_time) / SUM(query_stats.execution_count) AS 'Avg CPU Time',  
	SUM(query_stats.total_logical_reads) / SUM(query_stats.execution_count) AS 'Avg logical Read',
	SUM(query_stats.total_worker_time) / SUM(query_stats.execution_count) AS 'Avg Worker time',
    MIN(query_stats.statement_text) AS 'Statement Text',
	MIN(DB_NAME(query_stats.dbid)) AS 'DB_Name'
FROM   
    (SELECT QS.*, 
			ST.dbid, 
			SUBSTRING(ST.text, (QS.statement_start_offset/2) + 1, ((CASE statement_end_offset WHEN -1 THEN DATALENGTH(ST.text) ELSE QS.statement_end_offset END - QS.statement_start_offset)/2) + 1) AS statement_text  
		FROM sys.dm_exec_query_stats AS QS  
			CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) as ST) as query_stats  
	GROUP BY query_stats.query_hash  
ORDER BY 2 DESC;