SQL server实战优化终极武器

SQL server实战优化终极武器

数据库的通病就是在使用一段时间后会出现数据库查询缓慢,性能下降,甚至无法正常使用。在这个时候就需要对数据库进行优化。可是,到底优化什么?这却是一个难点。别怕,通过这篇文章,保证让你对数据库优化能力有一个质的提高。

大家都知道,对数据库优化最主要的就是对数据库的查询进行优化。可是用于查询的SQL语句那么多,到底应该优化哪一条或几条呢?这就需要借助我们的终极武器——“SQL Server profiler”SQL分析器来准确查找了。

如何使用SQL分析器捕捉到需要优化的语句呢,请看下面详细介绍。

SQL Server profiler是SQL Server安装自带的。它可以在SQL Server 的性能工具中找到。

image

想要准确的扑捉到需要优化的SQL语句仅仅使用SQL分析器还是不够的,还需要借助“性能监视器”的力量。

image

有了这两样东西,“SQL优化大师”之路就可以开启了。(开开玩笑,离真正的大师还远着呢)

1 首先打开SQL Server分析器和性能监视器。

2 在性能监视器的“计数器日志”中新建一个计数器

image

3 输入日志名称后进入到设置界面。单击“添加计数器”按钮。

image

4 选择需要监测的项目。SQL主要需要监测的无非就是内存,CPU。在这里可以根据具体的实际情况选择监测对象。

image

如果实在不知道该选择哪些,可以在这里选择“添加对象”

image

将CPU,内存的所有项目都监视起来。

image

这样 一个计数器日志就创建完成了。

image

5 然后开启SQL分析器,新建一个跟踪。

image

6 跟踪属性可以选择默认

image

7 新建好跟踪后,就开始监视着台SQL服务器的性能了。如果当前SQL服务器是给一个网站做服务,那么当别人在访问这个网站时自然会在SQL服务器中引用大量的SQL语句,只要找到在访问这个网站是使用什么SQL语句最耗费资源,就可以针对这一条或几条SQL语句进行有针对性的优化。SQL服务器的性能自然会提高。(同样的,只要是应用到数据库的程序,都可以用这一方法优化数据库。最显著的例子就是网络游戏的数据库)

那么到底要如何找到最耗费资源的SQL语句呢?(因为这里是实验环境,模仿真实的网站或游戏数据库有些困难,所以,我仅仅是在SQL控制台中模仿浏览网站点击引用SQL语句)

下面红框内就是SQL分析器所监视到的SQL语句的数量。

image

8 这时将跟踪文件“另存为”到桌面。(位置自选,方便记忆)

image

9 停止SQL分析器和“性能监视器”

image

image

10 再以打开“跟踪文件”的方式打开刚才保存在桌面的跟踪文件。

image

11 选择“导入性能数据”

image

12 选择“性能监视器”的性能监视文件。位置就是设置“计数器日志”是的位置。(第4步)

image

13 将这3个计数器全部勾选。按“确定”后出现一个警告,不用理会,按确定

image

14 在“1”中选择线条的汇聚点,不用理会下面,只看上面。在“2”中选择最近的SQL查询语句(也就是select语句)。将“3”中的SQL 语句复制下来。

image

15 将复制下来的SQL 语句放在“数据库引擎优化顾问”中进行分析。

image

最后将分析结果创建索引,这样一个实战中有针对性的数据库优化项目就做成了。

怎么样,这样有针对性的终极武器够分量吧。

因为篇幅问题,如果不会使用“数据库引擎优化顾问”的可以看看我下一篇博文。专门说明“数据库引擎优化顾问”的使用方法。在这里就不赘述了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章