代码改变世界

查看CPU中SQL执行效率

2021-05-25 18:14  .net小跟班(杜)  阅读(65)  评论(0编辑  收藏  举报
SELECT TOP 20
     total_worker_time/1000 AS [总消耗CPU 时间(ms)],execution_count [运行次数],
     qs.total_worker_time/qs.execution_count/1000 AS [平均消耗CPU 时间(ms)],
     last_execution_time AS [最后一次执行时间],max_worker_time /1000 AS [最大执行时间(ms)],
     SUBSTRING(qt.text,qs.statement_start_offset/2+1, 
         (CASE WHEN qs.statement_end_offset = -1 
         THEN DATALENGTH(qt.text) 
         ELSE qs.statement_end_offset END -qs.statement_start_offset)/2 + 1) 
     AS [使用CPU的语法], qt.text [完整语法],
     dbname=db_name(qt.dbid),
     object_name(qt.objectid,qt.dbid) ObjectName
 FROM sys.dm_exec_query_stats qs WITH(nolock)
 CROSS apply sys.dm_exec_sql_text(qs.sql_handle) AS qt
 WHERE execution_count>1 and last_execution_time>'2021-05-25 15:44:00'
ORDER BY  total_worker_time DESC