如何得到执行最耗时的前N条T-SQL语句--【叶子】

--得到最耗时的前N条T-SQL语句

--适用于SQL SERVER 2005及其以上版本

--给N赋初值为30
declare @n int set @n=30 

;with maco as 
(   
    select top (@n)
        plan_handle,
        sum(total_worker_time) as total_worker_time ,
        sum(execution_count) as execution_count ,
        count(1) as sql_count
    from sys.dm_exec_query_stats group by plan_handle
    order by sum(total_worker_time) desc
)
select  t.text ,
        a.total_worker_time ,
        a.execution_count ,
        a.sql_count
from    maco a
        cross apply sys.dm_exec_sql_text(plan_handle) t
        
/* 结果格式如下
text     total_worker_time  execution_count   sql_count
-------- ------------------ ----------------- ---------
内容略
*/

你可能感兴趣的:(sql,sql,server,query)