使用sql server 2000索引视图提高性能--

使用sql server 2000索引视图提高性能--

ID:20464731

大小:56.50 KB

页数:5页

时间:2018-10-11

使用sql server 2000索引视图提高性能--_第1页
使用sql server 2000索引视图提高性能--_第2页
使用sql server 2000索引视图提高性能--_第3页
使用sql server 2000索引视图提高性能--_第4页
使用sql server 2000索引视图提高性能--_第5页
资源描述:

《使用sql server 2000索引视图提高性能--》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、使用SQLServer2000索引视图提高性能>>  本文介绍SQLServer2000企业版的新功能-索引视图。讲解索引视图并讨论一些提高性能的具体方案。  什么是索引视图?  许多年来,Microsoft®SQLServer™一直都提供创建虚拟表(称为视图)的功能。在过去,这些视图主要有两种用途:  提供安全机制,将用户限制在一个或多个基表中的数据的某个子集。  提供一种机制,允许开发人员定制用户如何才能以逻辑方式查看存储在基表中的数据。  SQLServer2000已经扩展了SQLServer视图的功能,以提高系统性能。它可以在

2、一个视图上创建唯一的群集索引和非群集索引,可以改进最复杂查询的数据访问性能。在SQLServer2000中,拥有唯一群集索引的视图被称为索引视图。  注意:索引视图只是SQLServer2000企业版和SQLServer2000开发人员版的一个功能。  从数据库管理系统(DBMS)的观点来看,视图是数据(元数据)的说明。创建典型视图时,通过SELECT语句(定义一个显示为虚拟表的结果集)来定义元数据。当其它查询的FROM子句中引用了某个视图时,将从系统目录中检索该元数据,并对其进行扩展以代替该视图的引用。在视图扩展之后,查询优化器会为正在执行的查询编译单

3、个执行计划。  如果是非索引视图,视图在运行时将被实体化。任何计算(如联接或聚合)都在为每个引用该视图的查询执行查询期间进行。(视图并不总需要被完全实体化。查询可以包含其它一些谓词、联接或聚合,以应用于该视图所引用的表和视图。)在视图上创建了唯一的群集索引之后,视图的结果集会立即被实体化并持续保存在数据库的物理存储空间中,以便节省这种操作所占用的大量资源。  在执行查询时,有两种方法可以使用索引视图。查询可直接引用索引视图,更重要的是,如果查询优化器确定视图能够替换为查询的部分或全部,而且这是低成本的查询计划,则可以选择索引视图。第二种情况是使用索引视图

4、代替基础表及其普通索引。此时,不需要在查询中引用视图,查询优化器即可在执行查询期间使用该视图。这样,现有的应用程序无需更改即可从新建的索引视图中获益。  通过索引视图提高的性能  使用索引来提高查询性能并不是什么新观念,不过,索引视图还具有使用标准索引不能获得的其它性能优点。索引视图能够在以下方面提高查询性能:  能够预先计算聚合并将其存储在索引中,从而最大限度地减少在执行查询期间进行成本很高的计算。  能够预先联接表并存储生成的数据集。  能够存储联接或聚合的组合。  下图说明了查询优化器使用索引视图时一般能够提高多少性能。提供的查询复杂程度各不相同(

5、例如,聚合计算的数量、所用表的数量或谓词数),并包括来自实际生产环境的数百万行的大表。    图1.当查询优化器使用索引视图时一般能够提高多少性能  使用视图的辅助索引  视图的辅助性非群集索引可以提高其它查询性能。与表的辅助索引类似,视图的辅助索引也可以提供更多选项,以便查询优化器在编译过程中从中进行选择。例如,如果查询包括群集索引未涉及的列,优化器可以在计划中选择一个或多个辅助索引,从而避免对索引视图或基表进行费时的全局扫描。  由于索引需要不断维护,所以为架构添加索引会增加数据库的额外开销。因此应该认真考虑,找到索引和维护额外开销之间的平衡点。  

6、使用索引视图的好处  实现索引视图之前,请先分析数据库的工作量。运用自己对查询以及各种工具(例如SQL分析器)的知识来鉴别使用索引视图可以获益的查询。如果经常进行聚合和联接,最好使用索引视图。  并非所有查询都会从索引视图中获益。与普通索引类似,如果未使用索引视图,就没有好处可言。在此情况下,不但不能提高性能,还会加大磁盘空间的占用、增加维护和优化的成本。但是,如果使用了索引视图,它们可以(成数量级地)明显地提高数据访问的性能。这是因为查询优化器使用存储在索引视图中的预先计算的结果,从而大大降低了执行查询的成本。  查询优化器只在查询的成本比较大时才考虑

7、使用索引视图。这样可以避免在查询优化成本超出因使用索引视图而节省的成本时,试图使用各种索引视图。当查询成本低于1时,几乎不使用索引视图。  使用索引视图可以受益的应用包括:  ◆决定支持工作量  ◆数据集市  ◆联机分析处理(OLAP)库和源  ◆数据挖掘工作量  从查询的类型和模式的角度来看,受益的应用可被归纳为包含以下内容的应用:  ◆大表的联接和聚合  ◆查询的重复模式  ◆重复聚合相同或重叠的列集  ◆针对相同关键字重复联接相同的表  ◆上述的组合  相反,包含许多写入的联机事务处理(OLTP)系统或更新频繁的数据库,可能会因为要同时更新视图和根

8、本基表而使维护成本增加,所以不能利用索引视图。  查询优化器如何使用索引视图  

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。