使用SQL Server 2000索引视图提高性能
日期:2007年7月20日 作者: 查看:[大字体 中字体 小字体]-
本文介绍 SQL Server 2000 企业版的新功能 - 索引视图。讲解索引视图并讨论一些提高性能的具体方案。
什么是索引视图?
许多年来,Microsoft® SQL Server™ 一直都提供创建虚拟表(称为视图)的功能。在过去,这些视图主要有两种用途:
提供安全机制,将用户限制在一个或多个基表中的数据的某个子集。
提供一种机制,允许开发人员定制用户如何才能以逻辑方式查看存储在基表中的数据。
SQL Server 2000 已经扩展了 SQL Server 视图的功能,以提高系统性能。它可以在一个视图上创建唯一的群集索引和非群集索引,可以改进最复杂查询的数据访问性能。在 SQL Server 2000 中,拥有唯一群集索引的视图被称为索引视图。
注意:索引视图只是SQL Server 2000 企业版和SQL Server 2000 开发人员版的一个功能。
从数据库管理系统 (DBMS) 的观点来看,视图是数据(元数据)的说明。创建典型视图时,通过 SELECT 语句(定义一个显示为虚拟表的结果集)来定义元数据。当其它查询的 FROM 子句中引用了某个视图时,将从系统目录中检索该元数据,并对其进行扩展以代替该视图的引用。在视图扩展之后,查询优化器会为正在执行的查询编译单个执行计划。
如果是非索引视图,视图在运行时将被实体化。任何计算(如联接或聚合)都在为每个引用该视图的查询执行查询期间进行。(视图并不总需要被完全实体化。查询可以包含其它一些谓词、联接或聚合,以应用于该视图所引用的表和视图。)在视图上创建了唯一的群集索引之后,视图的结果集会立即被实体化并持续保存在数据库的物理存储空间中,以便节省这种操作所占用的大量资源。
在执行查询时,有两种方法可以使用索引视图。查询可直接引用索引视图,更重要的是,如果查询优化器确定视图能够替换为查询的部分或全部,而且这是低成本的查询计划,则可以选择索引视图。第二种情况是使用索引视图代替基础表及其普通索引。此时,不需要在查询中引用视图,查询优化器即可在执行查询期间使用该视图。这样,现有的应用程序无需更改即可从新建的索引视图中获益。
通过索引视图提高的性能
使用索引来提高查询性能并不是什么新观念,不过,索引视图还具有使用标准索引不能获得的其它性能优点。索引视图能够在以下方面提高查询性能:
能够预先计算聚合并将其存储在索引中,从而最大限度地减少在执行查询期间进行成本很高的计算。
能够预先联接表并存储生成的数据集。
能够存储联接或聚合的组合。
下图说明了查询优化器使用索引视图时一般能够提高多少性能。提供的查询复杂程度各不相同(例如,聚合计算的数量、所用表的数量或谓词数),并包括来自实际生产环境的数百万行的大表。

图 1. 当查询优化器使用索引视图时一般能够提高多少性能 使用视图的辅助索引
视图的辅助性非群集索引可以提高其它查询性能。与表的辅助索引类似,视图的辅助索引也可以提供更多选项,以便查询优化器在编译过程中从中进行选择。例如,如果查询包括群集索引未涉及的列,优化器可以在计划中选择一个或多个辅助索引,从而避免对索引视图或基表进行费时的全局扫描。
由于索引需要不断维护,所以为架构添加索引会增加数据库的额外开销。因此应该认真考虑,找到索引和维护额外开销之间的平衡点。
使用索引视图的好处
实现索引视图之前,请先分析数据库的工作量。运用自己对查询以及各种工具(例如 SQL 分析器)的知识来鉴别使用索引视图可以获益的查询。如果经常进行聚合和联接,最好使用索引视图。
- [1] [2] [3] 下一页
-
- 使用SQL Server 2000索引视图提高性能 相关文章:
- ·非主流ps教程实用的技巧大全
- ·把网页保存为图片 换种方式收集有用资料
- ·巧用名称框选择过宽的Excel单元格区域
- ·用十大安全策略加固无线局域网安全
- ·Photoshop字体安装使用方法和技巧
- ·不用双显卡 PowerPoint 2007也玩双显示输出
- ·利用插件来校验XHTML是否符合Web标准
- ·Windows Vista系统如何用命令行运行系统还原
- ·用Illustrator封套快速制作时装广告
- ·用JavaScript刷新框架子页面的方法
- 使用SQL Server 2000索引视图提高性能 相关软件
- ·《反恐精英CS》夜视镜专用地图cs_17elwell
- ·WEF决赛 Grubby使用不死族大败Tod录像包
- ·《实况足球9》实用工具集
- ·Excel2003函数应用完全手册
- ·魔兽CEG2006专用地图下载
- ·《雷神之锤4》v1.3到v1.4.2升级补丁(Windows系统专用)
- ·《热血传奇》专用下载器
- ·《彩虹岛》专用下载器
- ·《合金战纪》大众用户封测客户端
- ·图片欣赏-精美军用飞机航空摄影
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·SQL Server 练习题
- ·MS-SQL开发常用汇总和t-sql技巧集锦
- ·查询及删除重复记录的方法大全
- ·SQL server 2005安装问题汇总
- ·MS SQL的一些经典常用操作语句汇总
- ·SQL语法大全
- ·掌握SQL Server数据库的实用技巧
- ·解决用sa登录sql 2005失败的问题
- ·SQL Server建立应用程序安全性和程序角色
- ·轻松掌握使用 SQL Server 浏览器
- ·SQL Server安全问题全攻略之口令
- ·SQL Server 2005 中的分区表和索引
- ·sql server2000导入mdf文件
- ·一个复合查询方法
- ·如何创建SQL Server 2000故障转移群集
- ·SQL Server 2000企业版安装教程(1)
- ·SQL Server 2005 Reporting Services 初次使用感受
- ·使用用于SQL Server的IIS虚拟目录管理实用工具
- ·SQL Server中函数的用法两种
- ·改进SQL Server数据库系统安全五步走
特别推荐
- ·结束SQL注入隐患3招
- ·掌握SQL Server数据库的实用技巧
- ·SQL的简单查询
- ·快速解决SQL Server“安全疑难”相关问题
- ·SQL Server 2005:你应知道的13件事
- ·实例解析:减少SQL日志大小的三个好方法
- ·使用SQL2000将现有代码作为Web服务提供
- ·sql server 2000数据库置疑的解决方法
- ·SQL Server安全问题全攻略之口令
- ·XP上不能安装MicrosoftSQLSERVER2000吗
- ·解析Microsoft Sql Server中的like语句
- ·推荐;适合SQL初学者学习的SQL FAQ集锦
- ·SQL Server 2005 中的分区表和索引
- ·查询及删除重复记录的方法大全
- ·详细介绍优化SQL Server 2000的设置
- ·关于SQL SERVER 日志满的处理方法
- ·使用SQL Server 2000索引视图提高性能
- ·SQL server 2005安装问题汇总
- ·解决用sa登录sql 2005失败的问题
- ·简单三步走堵死SQL Server注入漏洞
