SQL Server2016 新功能实时查询统计信息
SQL Server2016 新功能实时查询统计信息
很多时候有这样的场景,开发抱怨DBA没有调优好数据库,DBA抱怨开发写的程序代码差,因此,DBA和开发都成为了死对头,无法真正排查问题。
DBA只能使用Windows性能监视器,SQL Server内置的活动监视器、SQL Trace、SQL Profiler、Performance Dashboard等工具,或者使用执行计划来查看查询成本。
为了让DBA有更多有效工具排查问题,SQL Server2016推出了很多新功能,其中一项功能是 Live Query Statistics(LQS 实时查询统计信息),这个功能显示了以往不容易看到的执行时期的内容,例如查询期间的统计信息,这个功能可以帮助DBA找出长时间查询的真正问题根源(root cause)
使用实时统计查询
使用实时查询统计非常简单,只需要在SSMS的工具列,分别按一下【包括实际的执行计划】【包括实时查询统计信息】图标,并执行您的查询就可以了。

现在可以在【实时查询统计信息】tab页看到查询所用到的运算符,正在统计查询耗费时间,另外在tab页面的左上角可以看到整个查询的完成度

使用【实时查询统计信息】会对性能有一定影响,当查询比较复杂的时候,所需等待时间也会增加,并且整个过程也会耗用不少CPU资源,因此使用的时机必须要审慎,否则问题未查出来,反而造成数据库更大的压力。
提示
如果只使用了【包括实时查询统计信息】,而未打开【包括实际执行计划】,那么在【包括实时查询统计信息】的tab页所看到的经过时间和完成率都会是0
不会显示消耗时间

在执行计划中向下钻取(drill down)
在实时查询统计信息执行过程中,可以点击任何一个执行计划中的运算符,查看运算符的统计信息,例如:消耗时间(Elapsed time)、运算符的处理进度(operator progress)、目前CPU使用率,根据这些信息帮助DBA找出瓶颈所在


另外,当查询依然在执行时可以切换到活动监视器,在新增加的【活动的耗费大量资源的查询】tab页里能看到当前正在活动的耗时查询,直到该查询执行完毕

实时查询统计信息原理
实时查询统计信息背后的原理其实是通过DMV动态管理视图获取信息,然后呈现在tab页面上,从而让DBA可以不需要自行查询这些DMV,直接以图形化界面来快速找到长时间执行的查询是在哪个环节耗费最多时间和成本。
下面是实时查询统计信息所使用的DMV,当然自己也可以通过下面的DMV来查询获得需要的统计信息
SELECT * FROM sys.dm_exec_requests
SELECT * FROM sys.dm_exec_sql_text
SELECT * FROM sys.dm_exec_query_memory_grants
SELECT * FROM sys.dm_exec_query_plan
SELECT * FROM sys.dm_exec_query_profiles
限制
目前实时查询统计信息尚不支持下列功能
列存储索引(columnstore indexes)
内存优化表(memory optimized tables)
本地编译存储过程(Natively compiled stored procedures)
功能截图


更多SQL Server2016好用功能敬请期待o(∩_∩)o
SQL Server2016 新功能实时查询统计信息的更多相关文章
- sql server 索引阐述系列八 统计信息
一.概述 sql server在快速查询值时只有索引还不够,还需要知道操作要处理的数据量有多少,从而估算出复杂度,选择一个代价小的执行计划,这样sql server就知道了数据的分布情况.索引的统计值 ...
- SQL alwayson 辅助接点查询统计信息“丢失”导致查询失败
ALWAYSON 出现以下情况已经2次了,记录下: DBCC 执行完毕.如果 DBCC 输出了错误信息,请与系统管理员联系. 消息 2767,级别 16,状态 1,过程 sp_table_statis ...
- 一个 Sql语句优化的问题- STATISTICS 统计信息
前段时间,同事遇到一个 Sql语句的问题,一个列表分页功能响应在30 s以上,看数据库里面的数据条数,数据量也不大,相关字段的一些索引也都有,可就是慢.于是找出具体的sql 语句出来分析,分页功能主要 ...
- sql 置顶功能的查询
sql中有置顶的需求,文章很多条,分页查询,要求置顶的在最前面: 只需要使用: order by 置顶字段 即可
- sqlserver2016新功能
SQL Server 2016中的新功能(数据库引擎) 2017年1月13日 23分钟阅读时长 作者 本人建了个领优惠卷购物群,平时网购可以省点钱.有需要的加群:511169656交流,谢谢 本主题 ...
- 全废话SQL Server统计信息(2)——统计信息基础
接上文:http://blog.csdn.net/dba_huangzj/article/details/52835958 我想在大地上画满窗子,让所有习惯黑暗的眼睛都习惯光明--顾城<我是一个 ...
- SQL Server调优系列进阶篇(深入剖析统计信息)
前言 经过前几篇的分析,其实大体已经初窥到SQL Server统计信息的重要性了,所以本篇就要祭出这个神器了. 该篇内容会很长,坐好板凳,瓜子零食之类... 不废话,进正题 技术准备 数据库版本为SQ ...
- SQL Server调优系列进阶篇 - 深入剖析统计信息
前言 经过前几篇的分析,其实大体已经初窥到SQL Server统计信息的重要性了,所以本篇就要祭出这个神器了. 该篇内容会很长,坐好板凳,瓜子零食之类... 不废话,进正题 技术准备 数据库版本为SQ ...
- SQL Server 调优系列进阶篇 - 深入剖析统计信息
前言 经过前几篇的分析,其实大体已经初窥到SQL Server统计信息的重要性了,所以本篇就要祭出这个神器了. 该篇内容会很长,坐好板凳,瓜子零食之类... 不废话,进正题 技术准备 数据库版本为SQ ...
随机推荐
- 用代码控制鼠标键盘(C#语言)
前些时间想做一个鼠标点击器,用到了这些知识. 下面整理记录一下. ps.感谢各位大神 下面直接上代码 1.鼠标的控制 class MouseMove { #region MouseEvent [Sys ...
- tp框架之模板继承
模板继承是一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该在模板布局的上层.模板继承其实并不难理解,就好比类的继承一样,模板也可以定义一个基础模板(或者是布局),并且其中定义相关的区 ...
- C#中的匿名方法
C#中的匿名方法是在C#2.0引入的,它终结了C#2.0之前版本声明委托的唯一方法是使用命名方法的时代.虽然在 C# 3.0 及更高版本中,Lambda 表达式取代了匿名方法,作为编写内联代码的首选方 ...
- https单向认证和双向认证
单向认证: .clinet<--server .clinet-->server .client从server处拿到server的证书,通过公司的CA去验证该证书,以确认server是真实的 ...
- Java基础学习(三)
/* java中的八种基本数据类型: 整数: byte . short . int . long 小数: float double 字符: char 布尔: boolean 字符串的类型: Strin ...
- [Idea] idea打不开项目,原因很莫名
由于项目是gitlab上存储的,所以下下来之后,之前遇到过,以为是重新下载之后master上面没有内容导致无法正常打开,这种情况,切换一下master再打开即可: 但是这次遇到的问题不是这种情况, 使 ...
- 把office文档转换为html过程中的一些坑
之前和我们项目的团队一起酝酿了一个项目,公司的业务文档技术文档比较多,但都比较分散,虽然通过FTP或其他方式聚合起来了,但感觉还是不够方便. 另外公司每次都来新员工,新员工都需要一些培训,比较耗时,比 ...
- WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案(转)
对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...
- Python 判断变量的类型
这里有两种方法.type 和isinstance import types aaa = 0 print type(aaa) if type(aaa) is types.IntType: print & ...
- 【vuejs小项目——vuejs2.0版本】组件化的开发方式
对于多张页面需要里存在相同模块,可以进行组建化的开发模式. 例如:此处需要一个评分标准组件,创建一个components/star/star.vue. 在需要引入该组建的页面上 import进去< ...