首页外贸资讯网站长资讯站长源码站长娱乐QQ非主流空间域名免费铃声下载繁體中文
设为首页
加入收藏
我要投稿
在线汉字转拼音     300m空间200元     魔兽世界私服    魔兽世界私服   
Google
 
网页游戏    明升    云博国际    12bet博    bet365    金宝博    云博国际    伟德亚洲    金宝博博彩    百家乐技巧    NBA博彩网站    酷站排行     中国站长之家    IT人才    传奇私服    阿里妈妈       传奇私服     天龙八部私服     魔域私服下载     完美世界私服     传奇私服    传世私服     脱毛機     中小企業診断士講座     塾講師     ネット広告     表参道 美容室     インプラント     リゾートバイト     イームズ     外壁塗装     結婚祝い     新开传奇私服    奇迹私服     天龙八部私服     传世私服    魔兽世界私服    魔兽世界私服    传奇外传私服    天龙八部私服    传奇私服    奇迹私服    英雄合击私服    淘宝    奇迹私服    铆钉    奇迹私服    魔域私服    奇迹私服    奇迹私服    传奇外传私服   
您当前的位置:中国站长资讯网 -> 数据库 -> MSSQL -> 文章内容 退出登录 用户管理
通过 SQL Server 2005 索引视图提高性能(1)
作者:中国站长资讯网  来源:tutu888.com  发布时间:2006-11-17 15:03:39  发布人:admin

减小字体 增大字体

一、索引视图

多年以来,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 提示来查询索引视图的内容。

通过索引视图改善性能

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

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

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

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

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

IPSQL501.gif

在视图上使用非聚集索引

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

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


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

[] [返回上一页] [打 印] [收 藏]
上一篇文章:安装SQL Server 2000
更多资讯在百度中查找更多与通过 SQL Server 2005 索引视图提高性能(1)相关的文章
更多资讯在搜狗中查找更多与通过 SQL Server 2005 索引视图提高性能(1)相关的文章
更多资讯在yahoo中查找更多与通过 SQL Server 2005 索引视图提高性能(1)相关的文章
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
栏目导航
· ACCESS · MSSQL
· MYSQL · DB2
· ORACLE · SYBASE
· 另类数据库
热门文章
· [组图] 劲舞团情侣图..
· [组图] 怎样免费装扮..
· [图文] QQ空间最新代..
· qq动态搞笑表情大全..
· QQ堂外挂 最新QQ堂最..
· 详谈QQ显隐身,显IP..
· [经典]QQ堂外挂,QQ堂..
· QQ空间动态皮肤-JAY..
· [图文] 劲舞团情侣图..
· [组图] 免费装扮qq空..
相关文章
· 站长资讯--如何通过..
· [组图] 站长资讯--通..
· 站长资讯--通过文字..
· 站长资讯--婚庆商家..
· 站长资讯--通过宅人..
· 站长资讯--陈荣斌:..
· 站长资讯--企业如何..
· 站长资讯--为什么编..
· [组图] 站长资讯--LJ..
· 站长资讯-- 通过欧盟..