内容摘要:本文介绍 SQL Server 2000 企业版的新功能 - 索引视图。讲解索引视图并讨论一些提高性能的具体方案
本文介绍 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 2005与SAP R/3结合完成“TB级”应用
- SQL Server 2005的数据挖掘功能的最佳实践
- SQL Server 2005 Express安装问题解答
- 详述SQL Server 2005对称密钥加密技术
- SQL Server 2005还有多长的路要走?
- 如何利用SQL Server 2005完成大型业务快速报表?
- 如何灵活运用SQL Server 2005 SSIS变量
- SQL Server 2005已经成为用户群最广的数据库
- SQL Server 2005高可用性之日志传送
- MySQL数据库备份方法说明