sql server 根据执行计划查询耗时操作
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 根据执行计划查询耗时操作的更多相关文章
- SQL Server 优化-执行计划
对于SQL Server的优化来说,优化查询可能是很常见的事情.由于数据库的优化,本身也是一个涉及面比较的广的话题, 因此本文只谈优化查询时如何看懂SQL Server查询计划.毕竟我对SQL Ser ...
- 第1/24周 SQL Server 如何执行一个查询
大家好,欢迎来到第1周的SQL Server性能调优培训.在我们进入SQL Server性能调优里枯燥难懂的细节内容之前,我想通过讲解SQL Server如何执行一个查询来建立基础.这个部分非常重要, ...
- 了解Sql Server的执行计划
前一篇总结了Sql Server Profiler,它主要用来监控数据库,并跟踪生成的sql语句.但是只拿到生成的sql语句没有什么用,我们可以利用这些sql语句,然后结合执行计划来分析sql语句的性 ...
- 第1周 SQL Server 如何执行一个查询
原文:第1周 SQL Server 如何执行一个查询 大家好,欢迎来到第1周的SQL Server性能调优培训.在我们进入SQL Server性能调优里枯燥难懂的细节内容之前,我想通过讲解SQL Se ...
- SQL Server实际执行计划COST"欺骗"案例
有个系统,昨天Support人员发布了相关升级脚本后,今天发现系统中有个功能不能正常使用了,直接报超时了(Timeout expired)的错误.定位到相关相关存储过程后,然后在优化分析的过程中,又遇 ...
- 程序员眼中的 SQL Server-执行计划教会我如何创建索引?
先说点废话 以前有 DBA 在身边的时候,从来不曾考虑过数据库性能的问题,但是,当一个应用程序从头到脚都由自己完成,而且数据库面对的是接近百万的数据,看着一个页面加载速度像乌龟一样,自己心里真是有种挫 ...
- SQL Server-执行计划教会我如何创建索引
先说点废话 以前有 DBA 在身边的时候,从来不曾考虑过数据库性能的问题,但是,当一个应用程序从头到脚都由自己完成,而且数据库面对的是接近百万的数据,看着一个页面加载速度像乌龟一样,自己心里真是有种挫 ...
- Sql Server中执行计划的缓存机制
Sql查询过程 当执行一个Sql语句或者存储过程时, Sql Server的大致过程是 1. 对查询语句进行分析,将其生成逻辑单元,并进行基本的语法检查 2. 生成查询树(会将查询语句中所有操作转换为 ...
- SQL SERVER 2012 执行计划走嵌套循环导致性能问题的案例
开发人员遇到一个及其诡异的的SQL性能问题,这段完整SQL语句如下所示: declare @UserId INT declare @PSANo VAR ...
随机推荐
- linux包之procps之vmstat命令
概述 [root@localhost ~]# rpm -qf /usr/bin/vmstatprocps-3.2.8-25.el6.x86_64 vmstat是一个很全面的性能分析工具,可以观察到系统 ...
- unity, 在OnDisable里一定要将Cloth禁掉
如果在OnDisable中不将Cloth组件禁掉,则当物体再次激活时布料将变形.
- firefox不支持background-position-x background-position-y,使用background-position:5px 5px;
firefox不支持background-position-x background-position-y,使用background-position:5px 5px;
- oracle中where 子句和having子句中的区别
1.where 不能放在GROUP BY 后面 2.HAVING 是跟GROUP BY 连在一起用的,放在GROUP BY 后面,此时的作用相当于WHERE 3.WHERE 后面的条件中不能有聚集函数 ...
- 非ROOT用户启动Tomcat
[root@Z ~]# adduser tomcat [root@Z ~]# chown -R tomcat:tomcat /usr/local/tomcat/ [root@Z ~]# chown - ...
- Cannot find class for bean with name service
Cannot find class [com.jx.p2p.service.impl.LazyInvestServiceImpl] for bean with name 'service' defin ...
- oracle分析函数 之分组累加求和
select s.slice_date_to ,s.made_id ,sum(s.steup_count)over(partition by s.made_id order by s.slice_da ...
- [原]一个简单的Linux TCP Client所涉及到的头文件
今天在Linux环境下写了一个最简单的TCP Client程序,没想到Linux环境下的头文件竟然这么分散,让我这样的菜鸟很是郁闷啊.编译成功的代码如下: #include <iostream& ...
- Hibernate3回顾-1-部署
web备份版本,详见doc版本. 一.背景(部署简单回顾) 我们知道,一个Hibernate快速上手的简单流程是这样. 1引入对应jar包. 中间涉及log4的jar包和配置,略. 2 实体类 pac ...
- 【1-4】jQuery代码风格-导航栏
实现一个导航栏,单机不同的商品名称链接,显示相应的内容,同时高亮显示当前选择的商品. 实现功能如图: css: /* reset */ ;padding:0 0 12px 0;font-size:12 ...