with QS as(
select cp.objtype as object_type, /*类型*/
db_name(st.dbid) as [database], /*数据库*/
object_schema_name(st.objectid,st.dbid) as [schema], /*架构*/
object_name(st.objectid,st.dbid) as [object], /*对象名*/
convert(char(16),qs.creation_time,120) as plan_creation, /*计划生成时间*/
convert(char(16),qs.last_execution_time,120) as last_execution, /*最后执行时间*/
qs.plan_generation_num,
qs.execution_count, /*执行次数*/
qs.total_elapsed_time/(1000*qs.execution_count) as avg_elapesd_seconds, /*总花费时间ms*/
qs.total_worker_time/(1000*qs.execution_count) as avg_cpu_cost, /*平均cpu耗时ms*/
qs.total_logical_reads/qs.execution_count as avg_logical_reads, /*平均逻辑读*/
qs.total_logical_writes/qs.execution_count as avg_logical_writes, /*平均逻辑写*/
qs.total_physical_reads/qs.execution_count as avg_physical_reads, /*平均屋里读*/
st.text, /*执行文本*/
qp.query_plan /*执行计划*/
from sys.dm_exec_query_stats qs
join sys.dm_exec_cached_plans cp on cp.plan_handle=qs.plan_handle
cross apply sys.dm_exec_sql_text(sql_handle) as st
cross apply sys.dm_exec_query_plan(qs.plan_handle) as qp
)select top 20 * from QS
where text like '%%'
--and object_type='Proc'
--and avg_logical_reads>200
and execution_count>100 /*执行次数*/
--and last_execution_time>dateadd(mi,-10,getdate())
and last_execution >= '2016-05-01 00:00:00.000' /*最后执行时间*/
order by avg_logical_reads desc

sql server 根据执行计划查询耗时操作的更多相关文章

  1. SQL Server 优化-执行计划

    对于SQL Server的优化来说,优化查询可能是很常见的事情.由于数据库的优化,本身也是一个涉及面比较的广的话题, 因此本文只谈优化查询时如何看懂SQL Server查询计划.毕竟我对SQL Ser ...

  2. 第1/24周 SQL Server 如何执行一个查询

    大家好,欢迎来到第1周的SQL Server性能调优培训.在我们进入SQL Server性能调优里枯燥难懂的细节内容之前,我想通过讲解SQL Server如何执行一个查询来建立基础.这个部分非常重要, ...

  3. 了解Sql Server的执行计划

    前一篇总结了Sql Server Profiler,它主要用来监控数据库,并跟踪生成的sql语句.但是只拿到生成的sql语句没有什么用,我们可以利用这些sql语句,然后结合执行计划来分析sql语句的性 ...

  4. 第1周 SQL Server 如何执行一个查询

    原文:第1周 SQL Server 如何执行一个查询 大家好,欢迎来到第1周的SQL Server性能调优培训.在我们进入SQL Server性能调优里枯燥难懂的细节内容之前,我想通过讲解SQL Se ...

  5. SQL Server实际执行计划COST"欺骗"案例

    有个系统,昨天Support人员发布了相关升级脚本后,今天发现系统中有个功能不能正常使用了,直接报超时了(Timeout expired)的错误.定位到相关相关存储过程后,然后在优化分析的过程中,又遇 ...

  6. 程序员眼中的 SQL Server-执行计划教会我如何创建索引?

    先说点废话 以前有 DBA 在身边的时候,从来不曾考虑过数据库性能的问题,但是,当一个应用程序从头到脚都由自己完成,而且数据库面对的是接近百万的数据,看着一个页面加载速度像乌龟一样,自己心里真是有种挫 ...

  7. SQL Server-执行计划教会我如何创建索引

    先说点废话 以前有 DBA 在身边的时候,从来不曾考虑过数据库性能的问题,但是,当一个应用程序从头到脚都由自己完成,而且数据库面对的是接近百万的数据,看着一个页面加载速度像乌龟一样,自己心里真是有种挫 ...

  8. Sql Server中执行计划的缓存机制

    Sql查询过程 当执行一个Sql语句或者存储过程时, Sql Server的大致过程是 1. 对查询语句进行分析,将其生成逻辑单元,并进行基本的语法检查 2. 生成查询树(会将查询语句中所有操作转换为 ...

  9. SQL SERVER 2012 执行计划走嵌套循环导致性能问题的案例

    开发人员遇到一个及其诡异的的SQL性能问题,这段完整SQL语句如下所示: declare @UserId             INT declare @PSANo              VAR ...

随机推荐

  1. unity, 使导入的材质名与3dmax中一致

    在fbx的Import setting的model选项页中:

  2. OpenJudge计算概论-四大湖

    /*====================================================================== 四大湖 总时间限制: 1000ms 内存限制: 655 ...

  3. WebApiThrottle限流框架

    ASP.NET Web API Throttling handler is designed to control the rate of requests that clients can make ...

  4. window.showModalDialog两次加载问题清除缓存方法

    问题: window.showModalDialog两次加载问题:你第一次打开窗口后,第二次浏览器没有从服务器端取数据,而直接找到了你已经下载的文件,也就是不再走后台的Action方法(即使数据已经更 ...

  5. jQuery Mobile_事件

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. HBase(七): HBase体系结构剖析(下)

    目录: write Compaction splite read Write: 当客户端发起一个Put请求时,首先根据RowKey寻址,从hbase:meta表中查出该Put数据最终需要去的HRegi ...

  7. javascript 容错

    window.onerror=function(){ return true;} 系统有onerror报错的代码,只要重新一下就可以在javascript错误的时候返回真(true)

  8. 转: Ext拖拽分析

    整个Ext架构中组件是其重要的组成部分,除了少部分(如树的结点)的界面表现元素不是在这样的一个体系中,大部分的页面表现元素都被绑定在这个体系之中,下面从这个体系的最底层即在这个继承体系的最高层进行研究 ...

  9. Phonegap通过JS访问本地接口的两种方法

    Phonegap为跨设备的应用开发提供了一个解决方案.如果某个应用只有js和html,则可以通过Phonegap的在线build工具,编译出多个平台的app安装包.当然通过Phonegap提供的js可 ...

  10. 【linux】which和whereis

    which和whereis都是查询命令的指令.区别的是: which能查询到命令所在位置: [root@andon tmp]# which ls alias ls='ls --color=auto' ...