SQLServer 查看耗时较多的SQL语句

编程知识 更新时间:2023-04-05 02:27:27

直接执行如下SQL查询:

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

ORDER BY  total_worker_time DESC

其中[使用CPU的语法] 是指具体耗时较长的SQL。如果耗时长的SQL在存储过程中,ObjectName 是存储过程的名称。dbname是对应的数据库。

上述的排序是根据总耗时,total_worker_time来进行排序。如果是针对具体的SQL语句(忽略执行次数),可以根据 [平均消耗CPU 时间(ms)] 来进行排序,更准确的找到应该优化的SQL。

更多推荐

SQLServer 查看耗时较多的SQL语句

本文发布于:2023-04-05 02:27:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/25eaafefe1c3a954bd816752e00b7b86.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:较多   语句   SQLServer   SQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 44359文章数
  • 14阅读数
  • 0评论数