--得到最耗时的前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
-------- ------------------ ----------------- ---------
内容略
*/
如何得到执行最耗时的前N条T-SQL语句--【叶子】
最新推荐文章于 2023-06-20 11:34:26 发布
本文介绍如何使用SQL Server 2005及以上版本,通过动态管理视图和系统存储过程,设置N为30,来获取系统中运行时间最长的前N条T-SQL语句,包括文本、总工作时间、执行次数和SQL计数。
109

被折叠的 条评论
为什么被折叠?



