文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程MSSQL使用SQL Server 2000索引视图提高性能
精品推荐
特别推荐
·常用SQL语句词典
·结束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失败的问题
热点TOP10
·SQL Server 2005免费版本下载排行居首
·常用SQL语句词典
·在SQL Server 2000里设置和使用数据库复制
·SQL Server 2005 中的分区表和索引
·SQL server 2005安装问题汇总
·Sql数据库MDF数据文件数据库恢复
·SQL的简单查询
·sql server 2005 排序规则与大小写敏感
·SQL语法大全
·查询及删除重复记录的方法大全
·在Windows xp系统上安装了SQL server服务器版
·sql server日期时间函数
·sql server 2000数据库置疑的解决方法
·Sql server存储过程和C#分页类简化你的代码
·SQL Server 练习题
·SQL Server 2000安装和基本框架
·解决用sa登录sql 2005失败的问题
·SQL安装问题总结
·SQL2000 数据库安装说明
·详细介绍优化SQL Server 2000的设置

使用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 子句中引用了某个视图时,将从系统目录中检索该元数据,并对其进行扩展以代替该视图的引用。在视图扩展之后,查询优化器会为正在执行的查询编译单个执行计划。

如果是非索引视图,视图在运行时将被实体化。任何计算(如联接或聚合)都在为每个引用该视图的查询执行查询期间进行。(视图并不总需要被完全实体化。查询可以包含其它一些谓词、联接或聚合,以应用于该视图所引用的表和视图。)在视图上创建了唯一的群集索引之后,视图的结果集会立即被实体化并持续保存在数据库的物理存储空间中,以便节省这种操作所占用的大量资源。

在执行查询时,有两种方法可以使用索引视图。查询可直接引用索引视图,更重要的是,如果查询优化器确定视图能够替换为查询的部分或全部,而且这是低成本的查询计划,则可以选择索引视图。第二种情况是使用索引视图代替基础表及其普通索引。此时,不需要在查询中引用视图,查询优化器即可在执行查询期间使用该视图。这样,现有的应用程序无需更改即可从新建的索引视图中获益。

通过索引视图提高的性能

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

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

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

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

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

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

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

使用视图的辅助索引

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

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

使用索引视图的好处

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

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

查询优化器只在查询的成本比较大时才考虑使用索引视图。这样可以避免在查询优化成本超出因使用索引视图而节省的成本时,试图使用各种索引视图。当查询成本低于 1 时,几乎不使用索引视图。

使用索引视图可以受益的应用包括:

◆决定支持工作量

◆数据集市

◆联机分析处理 (OLAP) 库和源

◆数据挖掘工作量

从查询的类型和模式的角度来看,受益的应用可被归纳为包含以下内容的应用:

◆大表的联接和聚合

◆查询的重复模式

◆重复聚合相同或重叠的列集

◆针对相同关键字重复联接相同的表

◆上述的组合

相反,包含许多写入的联机事务处理 (OLTP) 系统或更新频繁的数据库,可能会因为要同时更新视图和根本基表而使维护成本增加,所以不能利用索引视图。

查询优化器如何使用索引视图

SQL Server 查询优化器可自动确定何时可以将索引视图用于给定的查询执行中。查询中无需直接引用视图,优化器就可以将该视图用于查询执行计划。因此,无需对现有的应用程序本身进行任何更改,这些应用程序即可利用索引视图。唯一需要做的就是创建索引视图。

优化器的考虑因素

查询优化器会考虑几个条件来确定索引视图能涵盖部分查询还是整个查询。这些条件符合查询中的单个 FROM 子句并包含以下内容:

◆查询 FROM 子句中的表必须是索引视图 FROM 子句中的表的超集。

◆查询中的联接条件必须是视图中联接条件的超集。

◆查询中的聚合列必须是视图中的聚合列的子集。

◆查询选择列表中的所有表达式都必须源自于视图选择列表或源自于不包括在视图定义中的表。


[1] [2] 下一页 




上一篇:Linux操作系统下硬盘分区的最佳解决方案

下一篇:从原理上扼杀传播病毒的恶意网页

使用SQL Server 2000索引视图提高性能 相关文章:
·XP系统运行慢?小编自用7招解决
·常用破解网络密码的方法多个
·常用英文名字排行榜
·Vista系统使用技巧总结
·神不知鬼不觉地更换Win XP用户密码
·qq空间皮肤背景代码:QQ空间不用Q币更换主页皮肤方法
·GHOST使用方法(图解)
·XP用户:教你实用50招
·每周电脑应用技巧荟萃
·女孩起名常用字
使用SQL Server 2000索引视图提高性能 相关软件:
·FLASH 8中文使用手册
·黑客视频教程 VMware虚拟机的安装和使用
·黑客视频教程-灰鸽子远控使用教程
·用Photoshop美化你的相片
·使用GPMC随心所欲管理组策略
·电脑安装与维修实用技术1
·AutoCAD应用技巧与常见问题你问我答
·中文版 AutoCAD2004 应用实例与技巧
·用友财务 v8.15
·Adobe Photoshop CS 2 简体中文使用指南

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn