sql server 查询性能最差的sql语句

拜拜、爱过 提交于 2020-04-15 09:24:30

【推荐阅读】微服务还能火多久?>>>

原文: sql server 查询性能最差的sql语句


查询性能最差的sql语句:
复制代码
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
复制代码

  延申说明:

复制代码
DBCC DROPCLEANBUFFERS :从缓冲池中删除所有缓冲区

DBCC FREEPROCCACHE :从执行计划缓冲区删除所有缓存的执行计划

另外还有清理表索引也会影响 sys.dm_exec_query_stats 表的统计,

所以当同一个sql语句经过一段时间后反而 执行的次数变少了,可以从以上三点进行排查
复制代码

 




标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!