SQLServer 查看耗时较多的SQL语句

SELECT TOP 50 total_worker_time / 1000                         AS [总消耗CPU 时间(ms)],
              execution_count                                  AS [运行次数],
              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,
                        (IIF(qs.statement_end_offset = -1, DATALENGTH(qt.text), qs.statement_end_offset) -
                         qs.statement_start_offset) / 2 + 1)
                                                               AS [使用CPU的语法],
              qt.text                                          AS [完整语法],
    dbname=db_name(qt.dbid),
              object_name(qt.objectid, qt.dbid)                AS 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
ORDER BY total_worker_time DESC

 

posted @ 2022-02-28 17:34  iHey  阅读(743)  评论(0)    收藏  举报