文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络网络编程MSSQL通过 SQL Server 2005 索引视图提高性能
精品推荐
特别推荐
·SQL SERVER 2005中的同步复制技术
·SQL Server企业管理器和查询分析器简介
·常用SQL语句词典
·结束SQL注入隐患3招
·掌握SQL Server数据库的实用技巧
·SQL的简单查询
·快速解决SQL Server“安全疑难”相关问题
·SQL Server 2005:你应知道的13件事
·实例解析:减少SQL日志大小的三个好方法
·使用SQL2000将现有代码作为Web服务提供
热点TOP10
·“木马”查杀法和清除法
·巴塞尔新资本协议概述
·SQL2000 数据库安装说明
·SQL server 2005安装问题汇总
·SQL Server 2005 Express Edition安装步骤详解
·安装Ms SQL Server 2005 开发版时出现性能计数器要求安装错误的解决办法
·SQL Server企业管理器和查询分析器简介
·SQL SERVER 2005中的同步复制技术
·还原精灵实战
·SQL Server中数据仓库的构建与分析

通过 SQL Server 2005 索引视图提高性能

日期:2008年10月7日 作者: 查看:[大字体 中字体 小字体]


一、索引视图

多年以来,Microsoft® SQL Server™ 一直支持创建称为视图的虚拟表。通常,这些视图的主要作用是:

提供一种安全机制,将用户限制到一个或多个基表的某个数据子集中。

提供一种机制,允许开发人员自定义用户通过逻辑方式查看存储在基表中的数据的方式。

通过 SQL Server 2000,SQL Server 视图的功能得到了扩展,实现了系统性能方面的收益。可在视图上创建唯一的聚集索引及非聚集索引,来提高最复杂的查询的数据访问性能。在 SQL Server 2000 和 2005 中,具有唯一的聚集索引的视图即为索引视图。本文所讨论的内容适用于 SQL Server 2005,其中有许多内容也适用于 SQL Server 2000。

从数据库管理系统 (DBMS) 的角度看来,视图是对数据(一种元数据类型)的一种描述。当创建了一个典型视图时,通过封装一个 SELECT 语句(定义一个结果集来表示为虚拟表)来定义元数据。当在另一个查询的 FROM 子句中引用视图时,将从系统目录检索该元数据,并替代该视图的引用扩展元数据。视图扩展之后,SQL Server 查询优化器会为执行查询编译一个执行计划。查询优化器会搜索针对某个查询的一组可能的执行计划,并根据对执行每个查询计划所需的实际时间的估计,选择所能找到的成本最低的计划。

对于非索引视图,解析查询所必需的视图部分会在运行时被具体化。任何计算(比如:联接或聚合)都在每个引用视图的查询执行时完成1。在视图上创建了唯一的聚集索引后,该视图的结果集随即被具体化,并保存在数据库的物理存储中,从而在执行时节省了执行这一高成本操作的开销。

在查询执行中,可通过两种方式使用索引视图。查询可直接引用索引视图,或者更重要的是,如果查询优化器确定该视图可替换成本最低的查询计划中的部分或全部查询,那么就可以选定它。在第二种情况中,使用索引视图替代基础表及其一般索引。不必在查询中引用视图以使查询优化器在查询执行时使用该视图。这使得现有的应用程序可以从新创建的索引视图中受益,而不必进行更改。

注意 索引视图是 SQL Server 2000 和 2005 各版本的一个功能。在 SQL Server 2000 和 2005 的 Developer 和 Enterprise 版本中,查询处理器可使用索引视图来解析结构上与该视图相匹配的查询,即便不按名称来引用视图。在其他版本中,必须按名称来引用视图,并对视图引用使用 NOEXPAND 提示来查询索引视图的内容。

通过索引视图改善性能

运用索引提高查询性能不算是一个新概念;但是,索引视图提供了一些借助标准索引无法取得的性能收益。索引视图可通过以下方式提高查询性能:

可预先计算聚合并将其保存在索引中,从而在查询执行时,最小化高成本的计算。

可预先联接各个表并保存最终获得的数据集。

可保存联接或聚合的组合。

该图说明了当查询优化器使用索引视图时,通常所能取得的性能改进。所列举的查询在复杂性上有所不同(比如:聚合计算的数量、所用表的数量或谓词的数量)并包含来自真实的生产环境的具有数百万行的表。

通过 SQL Server 2005 索引视图提高性能(1)(图一)

在视图上使用非聚集索引

其次,视图上的非聚集索引可提供更好的查询性能。与表上的非聚集索引类似,视图上的非聚集索引可提供更多选项,供查询优化器在编译过程中选择。例如,如果查询包含聚集索引所未涉及的列,那么优化器可在计划中选择一个或多个辅助索引,避免对索引视图或基表进行费时的完全扫描。

对架构添加索引会增加数据库的开销,因为索引需要持续的维护。在索引数量和维护开销间寻求适当的平衡点时,应谨慎权衡。

一、索引视图

多年以来,Microsoft® SQL Server™ 一直支持创建称为视图的虚拟表。通常,这些视图的主要作用是:

提供一种安全机制,将用户限制到一个或多个基表的某个数据子集中。

提供一种机制,允许开发人员自定义用户通过逻辑方式查看存储在基表中的数据的方式。

通过 SQL Server 2000,SQL Server 视图的功能得到了扩展,实现了系统性能方面的收益。可在视图上创建唯一的聚集索引及非聚集索引,来提高最复杂的查询的数据访问性能。在 SQL Server 2000 和 2005 中,具有唯一的聚集索引的视图即为索引视图。本文所讨论的内容适用于 SQL Server 2005,其中有许多内容也适用于 SQL Server 2000。

从数据库管理系统 (DBMS) 的角度看来,视图是对数据(一种元数据类型)的一种描述。当创建了一个典型视图时,通过封装一个 SELECT 语句(定义一个结果集来表示为虚拟表)来定义元数据。当在另一个查询的 FROM 子句中引用视图时,将从系统目录检索该元数据,并替代该视图的引用扩展元数据。视图扩展之后,SQL Server 查询优化器会为执行查询编译一个执行计划。查询优化器会搜索针对某个查询的一组可能的执行计划,并根据对执行每个查询计划所需的实际时间的估计,选择所能找到的成本最低的计划。


[1] [2] [3] [4] [5] [6] [7] 下一页 




上一篇:Microsoft SQL Server 2005 中的 XML 选项

下一篇:安装SQL Server 2005中的AdventureWorks数据库

相关文章:
·Google搜索引擎,发现已经无法正常使用
·SQL server 2005安装问题汇总
·SQL Server 2005 Express Edition安装步骤详解
·安装Ms SQL Server 2005 开发版时出现性能计数器要求安装错误的解决办法
·SQL Server企业管理器和查询分析器简介
·SQL SERVER 2005中的同步复制技术
·如何在百度搜索引擎登陆网站
·什么是人肉搜索引擎
·WinServer2008简体中文版高清截图
·让数据更安全 保护SQL Server的十个步骤
相关软件:

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