SQL Server中的聚簇索引和非聚簇索引(二)

收藏本信息编号:221 发布时间:2009-07-27 截止日期: 地区:

 
最佳方案
测试,测试,反复地测试。在SQL Server 2005中有大量的工具可以用来帮助我们做出最佳选择。其中一个就是Display Estimated Execution Plan。通过按CTRL+L键,我们可以在SQL Server Management Studio上方的Query Menu中找到Display Estimated Execution Plan,
或者在SSMS的查询方框中的工具栏上
通过执行这个工具,SQL Server告诉我们它预计可能完成的任务。不用担心,它的结果通常都是正确的。在应用一个索引之前先查看一个查询估计的执行计划,然后再应用这个索引来看看我们所选择的索引是否提高了性能。
我们同时也可以执行Actual Execution Plan。我们也可以在查询菜单中找到它,通过按CTRL+M键,
或者点击工具栏的按键打开。
 
另外一个很好的工具是Tools菜单中的Database Engine Tuning Advisor。这个工具不仅有助于我们选择正确的索引实现,同时,还有助于我们决定执行SQL Server 2005新特性中的其中一个最佳查找:分区。但是,记住,分区只可以用在SQL Server 2005 Enterprise Edition中的生产系统中,并且与Standard Edition相比,它有一些附加费用。
提高索引性能的最后一个可以考虑的最佳方案是:是否将一个索引结构移到不同的存储阵列中。如果我们目前的所有数据库对象都在同一个阵列或者即使是同一个阵列的多文件组上,那么将索引结构转移到RAID 1阵列会带来性能的大幅提升。我个人曾经成功地使用这个技术。
总结
总之,在这方面并没有硬性的规定。如果我们在刚刚应用了一个索引的表上显示实际执行计划,并且它显示表扫描仍在进行中,那么我们有以下选择:
•在查询上保留索引并等待统计信息的逐渐提高 •删除索引 •在查询本身多花点时间进行优化
在提高数据库性能上,我们要不断尝试新的东西。可惜的是,人们总是习惯性认为数据库是相对静态的,并且有时他们都非常不理解:发生了什么?上周还是工作得很顺利的???当数据库中的数据越来越多时,它就会发生变化。当数据库的功能越来越多时,它就会发生变化。当删除越来越多的数据时,它也发生变化。由于这些变化发生时,我们必须重新评估索引结构、性能调优的可能性。

发布人信息

[错误报告] [推荐] [收藏][打印] [关闭] [返回顶部]

当前共有0人发表了评论.

推荐信息

最新信息