MS SQL SERVER 查询执行很慢的SQL

2022年4月25日 31点热度 0人点赞

在使用MS SQL SERVER数据库的时候,有时候查询很慢,这里需要找出是哪条SQL查的很慢并进行相应的分析并优化数据库。那如何找个执行很慢的SQL呢?我们来看下吧。

方法/步骤

  1. 1

    打开MS SQL SERVER 2008 点击左上角的【新建查询】打开一个新的查询标签页。

  2. 2

    在查询窗口输入查询慢SQL的语句并点击【执行】按钮进行查询,需要注意的是这里要选择【master】数据库,否则会报错。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

  3. 3

    查询出结果后就可以根据结果对相应的SQL语句进行优化啦。

    END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论