当前位置:首页 > 系统运维 > 正文内容

对SQL Server视图索引的解析

a8116255316年前 (2010-07-07)系统运维7

以下的文章主要向大家描述的是SQL Server视图索引(Indexed Views),我们在第27章所曾经讲过,SQL Server2000数据库允许你创建索引视图。一个索引的视图是任意在其上定义了聚集索引的视图。

当一个CREATE INDEX语句在视图上执行时,视图的结果集在数据库中的组织和存储与具有聚集索引的数据表是一样的。

视图中数据表上的数据发生改变将会自动反映到视图中,也会以同样的方式数据表中的变化会反映到索引中。除了聚集索引,你可以在视图上创建其他非聚集索引来提哦共另外的查询性能。视图上的额外的索引可为查询优化器提供更多的选择。

在SQL Server2000的开发版和企业版中,当一个索引视图存在于一个表中,你可以在查询中直接访问视图,优化器将自动考虑使用视图的索引来提高查询性能,就像表中的索引来提高性能一样。即使一个查询没有直接在FROM子句中使用视图名字,查询优化器也将考虑使用索引视图。换句话,当一个查询可能从索引视图中获得好处,查询优化器会替换掉表上的索引,而使用索引视图来满足查询。

SQL Server 2000的所有版本都可以创建索引,但是只有开发版本和企业版将自动使用索引视图来优化查询,这一点很重要。在其他版本中,索引视图将不会用来提高查询性能,除非查询中明确指定视图并且“NOEXPAND”优化指示也被指定。

没有NOEXPAND,SQL Server将扩展视图到视图所对应的表并且基于表中的索引进行优化。下面的例子展示了使用NOEXPAND 选项来强制SQL Server视图索引。

Sql代码   Select * from sales_Qty_Rollup WITH (NOEXPAND)   Where stor_id between 'B914' and 'B999' SET ARITHABORT ON   Select * from sales_Qty_Rollup WITH (NOEXPAND)  Where stor_id between 'B914' and 'B999' SET ARITHABORT ON  

索引视图的确增加了负担并且可能使得SQL Server变得更复杂,因为需要比普通索引花费更多时间来维护。当索引所在的表被修改了,SQL Server不得不修改视图的结果集和视图中的索引。SQL Server视图索引的范围可能比单个表要大些,特别是假如视图定义在几个大表上。

在修改中维护视图及其索引所需的负担所产生的负面影响要比从其获得好处要多些。因为这些额外的维护负担,只在那些获得好处超过其维护负担的视图上创建索引。

上述的相关内容就是对SQL Server视图索引(Indexed Views)的描述,希望会给你带来一些帮助在此方面。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/21569.html

分享给朋友:

“对SQL Server视图索引的解析” 的相关文章

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

故障现象: Windows 7酷狗软件无声音,系统声音正常。 原因分析: 1. 查看酷狗软件设置 2. 查看系统设置 解决方案: 1. Windows 7操作方法 如图:查看是否处于禁音状态   Windows 7系统声音正常酷狗音乐无声音 2. 查看设置音频输出是否...

windows 7系统下Windows服务被流氓软件注册怎么办?Windows服务

windows 7系统下Windows服务被流氓软件注册怎么办?Windows服务

解决方法: 其实处理这些使用流氓软件,需要将相关的.exe文件删除,使它不能再运行,或者直接清除这个服务本身,使计算机重启的时候,它不会再启动。比如Hijackthis扫描,在扫描日志中,一般会把非Windows系统的服务以023的方式列出来,如下面这段: O23 - ...

Windows7播放电影视频蓝屏无论什么格式都会蓝屏

Windows7播放电影视频蓝屏无论什么格式都会蓝屏

问:我在Windows 7 Ultimate X64下播放电影视频时,不管什么格式都会蓝屏,错误代码“0x00000124”。换解码器、播放器不行,换驱动、内存也不管用。在不同的电脑上也试过,仍然蓝屏。请问是哪里的问题,如何解决 答:64位 Windows 7直接使用PotPlayer x64就...

windows7系统下让所有文件夹都使用同一种视图的方法

windows7系统下让所有文件夹都使用同一种视图的方法

Windows 7系统可以对每个文件夹进行个性化视图设置,可以根据自己的个人喜好和实际需要更改文件或文件夹图标的大小,或者让文件或文件夹以列表、平铺等方式显示。但是,假如你对N个文件夹视图进行了风格各异的个性设置,现在又想让所有文件夹都使用同一种视图怎么办呢 手工一个一个修改,你OUT了,非累得手抽...

windows 7系统中不能把程序锁定到任务栏的解决方法图文讲解

windows 7系统中不能把程序锁定到任务栏的解决方法图文讲解

最近小编在使用Windows 7的时侯遇到一个问题,就是应用程序和快捷方式不能锁定到任务栏,我当时不知道怎么回事,但是很多现有的方法都不能解决这个问题。现在我把我的解决的方法分享给大家以作参考。 问题分析 经过思考,初步判断出现该问题的原因是由于使用第三方优化软件消除快捷方式的小箭头引起的。...

windows 7怎么设置密码永不过期?

windows 7怎么设置密码永不过期?

下面小编以Windows 7 64位为例,介绍下密码是如何设置永不过期的。  1、在桌面上打开“开始”菜单,或者点击“Win+R”快捷键将“运行”对话框打开。  2、运行对话框打开后,在里面中输入“lusrmgr.msc”字符命令,就可以打开“本地用户和组程序”。...