博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
找出执行时间最长的10条SQL
阅读量:4210 次
发布时间:2019-05-26

本文共 2116 字,大约阅读时间需要 7 分钟。

ALTER TABLE [dbo].[PRIMARYCODE] DROP CONSTRAINT [PK__PRIMARYC__AA1D437813BCEBC1]

GO

ALTER TABLE [dbo].[PRIMARYCODE] ADD PRIMARY KEY CLUSTERED 

(
    [CODE] ASC
)

--平均耗CPU最多的前个SQL (SQL SERVER 2005或以上版本)

SELECT TOP 5 total_worker_time / execution_count AS [Avg CPU Time],  

    SUBSTRING(st.text, (qs.statement_start_offset/2)+1,   
        ((CASE qs.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   
 ORDER BY total_worker_time/execution_count DESC  

  

5 平均耗CPU最多的前个SQL  (SQL SERVER 2008或以上版本)

复制代码

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 [最后一次执行时间],min_worker_time /1000 AS [最小执行时间(ms)],
    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 [完整语法],
    qt.dbid, dbname=db_name(qt.dbid),
    qt.objectid,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 (qs.total_worker_time/qs.execution_count/1000) DESC
复制代码
 

6 总耗CPU最多的前个SQL (SQL SERVER 2008或以上版本)

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 [完整语法],
    qt.dbid, dbname=db_name(qt.dbid),
    qt.objectid,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

 

转载地址:http://bzrli.baihongyu.com/

你可能感兴趣的文章
匿名对象中调用匿名对象是危险行为
查看>>
对象的动态建立和释放
查看>>
静态成员变量
查看>>
c++编译器对属性和方法的处理机制一
查看>>
编译器对属性和方法的处理机制之二
查看>>
运算符重载入门技术推演
查看>>
运算符重载的两种方法
查看>>
定义运算符重载函数名的步骤
查看>>
重载赋值运算符
查看>>
面向对象模型this指针练习
查看>>
友元类与友元函数
查看>>
括号运算符重载
查看>>
为什么不要重载逻辑&&和逻辑||运算符
查看>>
运算符重载之数组实例的应用
查看>>
派生类访问控制
查看>>
类型兼容性原则
查看>>
继承与组合混搭情况下,构造和析构调用原则
查看>>
继承中的同名成员变量处理方法
查看>>
派生类中的static成员
查看>>
多继承的应用
查看>>