首页 新闻 会员 周边 捐助

SQL Server中如何查看执行慢的查询

0
悬赏园豆:20 [已解决问题] 解决于 2017-07-11 10:38

SQL Server 版本是 Server Server 2008 R2,想找出执行慢的查询进行优化

dudu的主页 dudu | 高人七级 | 园豆:29737
提问于:2017-07-11 08:45
< >
分享
最佳答案
1

在园子找到了答案(人人都是 DBA(XII)查询信息收集脚本汇编),而且贴心地将 total_elapsed_time 换算成了秒。

SELECT TOP 10 TEXT AS 'SQL Statement'
    ,last_execution_time AS 'Last Execution Time'
    ,(total_logical_reads + total_physical_reads + total_logical_writes) / execution_count AS [Average IO]
    ,(total_worker_time / execution_count) / 1000000.0 AS [Average CPU Time (sec)]
    ,(total_elapsed_time / execution_count) / 1000000.0 AS [Average Elapsed Time (sec)]
    ,execution_count AS "Execution Count"
    ,qp.query_plan AS "Query Plan"
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.plan_handle) st
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
ORDER BY total_elapsed_time / execution_count DESC

查看执行慢的存储过程,可以看这位博主的另外一篇博文:人人都是 DBA(XIV)存储过程信息收集脚本汇编

dudu | 高人七级 |园豆:29737 | 2017-07-11 09:09

6+

~扎克伯格 | 园豆:1923 (小虾三级) | 2017-07-11 09:20
其他回答(2)
0

如果你觉得数据库执行查询慢,可以建立索引或存储过程、视图来优化查询

收获园豆:20
Ant晨曦 | 园豆:224 (菜鸟二级) | 2017-07-11 09:10
0

优化查询流程,善于使用子查询,建立视图。

啦啦啦啦啦啦小情歌 | 园豆:222 (菜鸟二级) | 2017-11-17 21:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册