夫天地者,万物之逆旅;光阴者,百代之过客。而浮生若梦,为欢几何?
SQL Server 性能优化技巧

SQL性能优化前期准备

笔者使用的SQL 版本为 SQL Server 2012 ;系统为 win10 64位,8G 内存。

清除缓冲

为了尽可能的真实还原性能问题,我们在执行SQL 语句之前应该先将缓冲清除。

 DBCC DROPCLEANBUFFERS  --清除缓冲区
 DBCC FREEPROCCACHE  --删除计划高速缓存中的所有元素

关于DBCC的参考链接:https://docs.microsoft.com/zh-cn/sql/t-sql/database-console-commands/dbcc-transact-sql

开启 IO 监控

 
 SET STATISTICS IO ON
 /*
 T-SQL 语句
 */
 SET STATISTICS IO OFF

关于 STATISTICS IO 的参考链接:https://docs.microsoft.com/zh-cn/sql/t-sql/statements/set-statistics-io-transact-sql

开启 PROFILE 监控

设置 PROFILE 为 ON 时,执行的各个查询都返回其常规结果集。

 SET STATISTICS PROFILE ON
 /*
 T-SQL 语句
 */
 SET STATISTICS PROFILE OFF

开启 TIME 监控

设置 TIME 为 ON 时,将显示分析、编译和执行各语句所需的毫秒数。

SET STATISTICS TIME ON
/*
 T-SQL 语句
 */
SET STATISTICS TIME OFF

开启 客户端统计

开启客户端统计后我们可以得到客户端与服务器之间的响应、处理时间,接收和发送的POST数据量大小。

开启 执行计划

开启 执行计划 后我们可以得到SQL内部的一个执行过程,这对我们分析SQL语句极为有用。

我们着重的优化点是那个开销占比最大的SQL片段。

关于执行计划的详细解读可参考:http://www.cnblogs.com/xwdreamer/archive/2012/07/06/2579504.html


作者:暗夜余晖

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

1

支持

0

反对

posted @2017-10-29  拜读(1776)

评论列表

评论内容:



喜欢请打赏

支付宝 微信

请放心支付