使用SQL Server 2000索引视图提高性能
2007-07-21 09:46:23 来源:WEB开发网核心提示: 查询优化器只在查询的成本比较大时才考虑使用索引视图,这样可以避免在查询优化成本超出因使用索引视图而节省的成本时,使用SQL Server 2000索引视图提高性能(3),试图使用各种索引视图,当查询成本低于 1 时,◆查询选择列表中的所有表达式都必须源自于视图选择列表或源自于不包括在视图定
查询优化器只在查询的成本比较大时才考虑使用索引视图。这样可以避免在查询优化成本超出因使用索引视图而节省的成本时,试图使用各种索引视图。当查询成本低于 1 时,几乎不使用索引视图。
使用索引视图可以受益的应用包括:
◆决定支持工作量
◆数据集市
◆联机分析处理 (OLAP) 库和源
◆数据挖掘工作量
从查询的类型和模式的角度来看,受益的应用可被归纳为包含以下内容的应用:
◆大表的联接和聚合
◆查询的重复模式
◆重复聚合相同或重叠的列集
◆针对相同关键字重复联接相同的表
◆上述的组合
相反,包含许多写入的联机事务处理 (OLTP) 系统或更新频繁的数据库,可能会因为要同时更新视图和根本基表而使维护成本增加,所以不能利用索引视图。
查询优化器如何使用索引视图
SQL Server 查询优化器可自动确定何时可以将索引视图用于给定的查询执行中。查询中无需直接引用视图,优化器就可以将该视图用于查询执行计划。因此,无需对现有的应用程序本身进行任何更改,这些应用程序即可利用索引视图。唯一需要做的就是创建索引视图。
优化器的考虑因素
查询优化器会考虑几个条件来确定索引视图能涵盖部分查询还是整个查询。这些条件符合查询中的单个 FROM 子句并包含以下内容:
◆查询 FROM 子句中的表必须是索引视图 FROM 子句中的表的超集。
◆查询中的联接条件必须是视图中联接条件的超集。
◆查询中的聚合列必须是视图中的聚合列的子集。
◆查询选择列表中的所有表达式都必须源自于视图选择列表或源自于不包括在视图定义中的表。
◆查询搜索条件谓词必须是视图定义中搜索条件谓词的超集。视图搜索谓词中的每个合取项都必须以同样的形式出现在查询搜索谓词中。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››使用linux中的quota教程
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››使用jxl生成带动态折线图的excel
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
更多精彩
赞助商链接