拨开云雾见日月:SQL Server 调优之查询存储
数据库调优一直都是大家觉得比较困难的事情,SQL Server提供了很多方便的工具帮助大家进行性能分析,这边介绍下SQL Server的性能调优的重器:查询存储
什么叫查询存储,就是 QUERY STORE
SQL Server 查询存储功能让你可以探查查询计划选项和性能。 它可帮助你快速找到查询计划更改所造成的性能差异,从而简化了性能疑难解答。 查询存储将自动捕获查询、计划和运行时统计信息的历史记录,并保留它们以供查阅。 它按时间窗口将数据分割开来,使你可以查看数据库使用模式并了解服务器上何时发生了查询计划更改。
这个功能是在SQL Server 2016之后的版本就提供了。
查询存储是以数据库为单位,因此开启这个功能有两个方法。
1、通过SSMS数据库右键属性,就可以看到如下图的查询存储,选择操作模式,建议读写。
第二种方式:代码
ALTER DATABASE <database_name>
SET QUERY_STORE = ON (OPERATION_MODE = READ_WRITE);
开启查询存储后,就可以在数据库看到如下功能:
由于需要收集数据,过几个小时候,可以使用相应的功能看到数据
回归查询
回归查询看到前25个回归查询,点击怕前的,发现缺失了索引,这里就可以分析是否需要创建索引,并且点击缺失索引还可以自动生成需要的索引创建语句
除了可以看CPU 还可以看到更多的统计指标,通过这些指标可以轻松的知道怎么处理了。
总体资源消耗
我这里的资源消耗还没有出来,需要过段时间。这里就可以完整的看到资源使用情况
资源消耗量最大的几个查询
资源最大的查询统计,并且每个的执行计划等都有展示。
具备高度差异的查询
查询等待统计信息
跟踪的查询
以上的功能已经很不错了吧,还提供了跟踪查询,也就是你可以跟踪你的某个查询的情况,比如这里我用
select * from sys.sysprocesses
看到了 spid 64 耗时过长,使用跟踪查询,输入id 64 就可以看到这个查询的相应情况。
有了以上利器,对于调优是不是手到擒来!!
————————————————————————————————————
作者简介: Max Shen(阿特),为了成为数据专家而努力,万一实现了呢!有多年的系统运维,数据库运维经验。近20年的IT从业经验,在微软有超过10年的工作经验。对数据库运维调优,排错,有独到能力。电话微信18628037379,maxcloud@outlook.com