WEB开发网
开发学院数据库MSSQL Server 使用SQL Server 2000索引视图提高性能 阅读

使用SQL Server 2000索引视图提高性能

 2007-07-21 09:46:23 来源:WEB开发网   
核心提示: 通过索引视图提高的性能使用索引来提高查询性能并不是什么新观念,不过,使用SQL Server 2000索引视图提高性能(2),索引视图还具有使用标准索引不能获得的其它性能优点,索引视图能够在以下方面提高查询性能:能够预先计算聚合并将其存储在索引中,它们可以(成数量级地)明显地提高数据访问的

通过索引视图提高的性能

使用索引来提高查询性能并不是什么新观念,不过,索引视图还具有使用标准索引不能获得的其它性能优点。索引视图能够在以下方面提高查询性能:

能够预先计算聚合并将其存储在索引中,从而最大限度地减少在执行查询期间进行成本很高的计算。

能够预先联接表并存储生成的数据集。

能够存储联接或聚合的组合。

下图说明了查询优化器使用索引视图时一般能够提高多少性能。提供的查询复杂程度各不相同(例如,聚合计算的数量、所用表的数量或谓词数),并包括来自实际生产环境的数百万行的大表。

图 1. 当查询优化器使用索引视图时一般能够提高多少性能

使用视图的辅助索引

视图的辅助性非群集索引可以提高其它查询性能。与表的辅助索引类似,视图的辅助索引也可以提供更多选项,以便查询优化器在编译过程中从中进行选择。例如,如果查询包括群集索引未涉及的列,优化器可以在计划中选择一个或多个辅助索引,从而避免对索引视图或基表进行费时的全局扫描。

由于索引需要不断维护,所以为架构添加索引会增加数据库的额外开销。因此应该认真考虑,找到索引和维护额外开销之间的平衡点。

使用索引视图的好处

实现索引视图之前,请先分析数据库的工作量。运用自己对查询以及各种工具(例如 SQL 分析器)的知识来鉴别使用索引视图可以获益的查询。如果经常进行聚合和联接,最好使用索引视图。

并非所有查询都会从索引视图中获益。与普通索引类似,如果未使用索引视图,就没有好处可言。在此情况下,不但不能提高性能,还会加大磁盘空间的占用、增加维护和优化的成本。但是,如果使用了索引视图,它们可以(成数量级地)明显地提高数据访问的性能。这是因为查询优化器使用存储在索引视图中的预先计算的结果,从而大大降低了执行查询的成本。

上一页  1 2 3 4  下一页

Tags:使用 SQL Server

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