WEB开发网
开发学院数据库MSSQL Server SQL Server使用索引实现数据访问优化 阅读

SQL Server使用索引实现数据访问优化

 2009-06-09 10:31:41 来源:WEB开发网   
核心提示: 当创建复合索引的时候,尽量使用DatabaseTuningAdvisor(数据库优化顾问)的帮助,SQL Server使用索引实现数据访问优化(7),我们知道,一旦一个SQL开始运行,所以能产生最可能好的索引建议,如果你不熟悉优化顾问工具,SQLSERVER引擎优化器基于以下几点动态的产生

当创建复合索引的时候,尽量使用DatabaseTuningAdvisor(数据库优化顾问)的帮助。

我们知道,一旦一个SQL开始运行,SQLSERVER引擎优化器基于以下几点动态的产生不同的检索计划。

数据量

统计

索引变化

TSQL的参数值

服务器的负载

这意味着:对于一个特殊的SQL语句,在产品服务器上的执行计划可能和在测试服务器上的执行计划不近相同,甚至表和索引结构一样。这同样也表明,一个在测试服务器上创建的索引可能会加速测试服务器上的性能,但是在产品服务器上的同样的索引可能不会带给你任何益处。为什么?因为在测试环境下的SQLSEVVER执行计划可能使用创建的索引,因此给你很好的性能,但是,在产品服务器上的执行计划可能出于下列的原因而根本不使用新创建的索引。例如:一个非聚焦索引列在产品服务器上不是高选择性列,而在测试服务器上是高选择性列.

所以,当创建索引的时候,我们需要弄明白这一点:索引是执行引擎用来提高速度的。但是我们该如何去做呢?

答案是我们必须在测试服务器上模拟产品服务器的负载,接着创建索引,以及测试他们。只有这样,在测试服务器上能提高性能的索引,才能更有可能在产品服务器上提高性能。

这么做应该很困难,但幸运的是,我们有一些好用的工具去实现它,请跟随下面的指导:

1:使用SQLprofiler捕获产品服务器上的痕迹。使用Tuningtemplate(我知道,有人建议不要在产品服务器上使用SQLprofiler,但有些时候,你不得不在产品服务器上诊断性能问题的时候使用它),如果你不熟悉这个工具,或者你想了解更多的关于SQLprofiler的知识,请阅读http://msdn.microsoft.com/en-us/library/ms181091.aspx

2.利用上一步产生的跟踪文件,用数据库优化顾问在测试数据库创建相似的负载,从优化顾问得到一些建议,特别是创建索引的建议,你很可能从优化顾问那里获得比较实际的建议。因为优化顾问使用产品服务器产生的跟踪文件来装载测试服务器,所以能产生最可能好的索引建议。如果你不熟悉优化顾问工具,或者你想了解更多的关于使用优化顾问的的资料,请阅读:http://msdn.microsoft.com/en-us/library/ms166575.aspx.

上一页  2 3 4 5 6 7 8 9  下一页

Tags:SQL Server 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接