物化视图,所谓视图实际上是不存储物理信息的(同表相区别,表存储实际的数据和表的索引信息等。),视图仅仅存储 一个select语句而已。而物化视图就要视图也存储实际的数据,这种实际数据,就是索引。oracle 8imssqlserver2000中引入的。比如oracle的函数索引和sqlserver2000的索引视图都是物化视图。原因是这种视图能够显著提高性能,举个例子
一个表:
create table mytable (id int not null,name varchar(20) not null)
create index idx_mytable on mytable.name
当我们查询的时候,
select * from mytable where name like 'j%',
优化器能够使用索引来提高性能,然而我们遇到这种情况就不能使用索引了,如:
select * from mytable where name like '%bing%'
或者
select * from mytable where substring(name,1,5)='jiang'
这样的情况不能使用索引
但引入物化视图就不同了
create view myview(vid,vname) as select id,substring(name,1,5) from myview.
然后再vname上建立索引即可显著提高查询性能。
oracle的函数索引亦是如此。
create index idx_mytable on mytable(upper(name))
--
就是这样的
http://book.51cto.com/art/200710/57893.htm
1.6.2 物化视图
SQL Server 2005增强了索引化视图,也叫做物化视图。现在你可以使用一个能索引化的视图扩展集合了。在SQL Server中还有一些可以被索引化的视图类型,如使用下列选项的视图:
外部连接(Outer Joins)。
级联集合(Scalar Aggregates)。
ROLLUP和CUBE。
当数据库管理员或者开发者在视图上创建索引时,这个视图就被物化(执行)了,并且结果集被永久地保存在唯一聚簇索引(Clustered Index)中,保存方式与一个有聚簇索引的表的保存方式相同。可以在第一级唯一聚簇索引创建之后添加非聚簇的第二级索引。
索引视图有以下两个优点。
减除了为引用视图的查询动态建立结果集的管理开销。
优化人员可以在查询中使用视图索引,而不需要在FROM子句中直接指定视图。
引用索引化视图中的相关列的现有查询可以受益于提高了的在索引化视图中获取数据的效率,而且不需要重新编写代码。关于它们更多的介绍,请见第3章。代码举例,请见第6章“代码章节”。
分享到:
相关推荐
深入探讨SQL Server的高级特性,如分区表、物化视图、内存优化、XML支持、大数据与Hadoop集成、BI(商业智能)工具等。了解SQL Server与.NET、Java等应用程序的交互,以及如何使用SSIS(Integration Services)进行...
索引视图,或称物化视图,在SQL Server中是带有唯一聚集索引的视图。这篇文章是关于数据库性能优化的专业指导,提出了多种利用索引视图提升性能的方法,并讨论了与之相关的技术细节。 描述:“利用SQL Server 2005...
《SQLSERVER2000高级编程》是一本深入探讨Microsoft SQL Server 2000的专著,尤其关注其中的存储过程技术。SQL Server 2000是微软公司推出的一款关系型数据库管理系统,它在企业级数据管理、分析和应用开发中扮演着...
而Oracle则是由甲骨文公司开发的企业级数据库系统,它支持更广泛的企业级特性,如分区、物化视图、并行查询等。 本书通过大量实例讲解了SQL的基础和高级用法,这些实例涵盖了以下核心概念: 1. 数据库创建与管理:...
8.9 索引(物化)视图 8.10 分区视图 8.11 小结 第9章 脚本和批处理 9.1 脚本的基本概念 9.2 批处理 9.3 SQLCMD 9.4 动态SQL:使用EXEC命令生成即时代码 9.5 流控制语句 9.6 小结 第10章 ...
这些模型可以是视图、物化视图或存储过程,它们之间通过依赖关系链接。 2. **数据测试**:dbt支持在模型上定义数据质量测试,确保输出的数据符合预期标准。测试可以涵盖完整性、一致性、业务规则等多个方面。 3. *...
此外,还有并行查询、分区、物化视图、存储过程、触发器等高级特性,它们在不同的场景下可以帮助优化查询性能。对于高级数据库管理员来说,理解这些概念并能熟练运用,是确保数据库高效运行的关键。 在"关系查询...
在SQL Server中,索引视图是一种特殊类型的视图,它的数据被物理地存储并维护着,这使得它们能够提供类似表的性能,特别是在处理大量数据和需要快速聚合操作时。这种视图的设计目的是为了提高查询性能,尤其是当查询...
- 视图:创建物化视图以提高复杂查询的响应速度。 - 分布式查询:利用分布式查询功能集成多个数据源,构建企业级数据仓库。 5. 数据仓库性能优化 - SQL查询优化:通过查询优化器分析执行计划,优化查询语句。 -...
8.9 索引(物化)视图 8.10 分区视图 8.11 小结 第9章 脚本和批处理 9.1 脚本的基本概念 9.2 批处理 9.3 SQLCMD 9.4 动态SQL:使用EXEC命令生成即时代码 9.5 流控制语句 9.6 小结 第10章 ...
第1章 RDBMS基础:SQLServer数据库的构成 1.1 数据库对象概述 1.1.1 数据库对象 1.1.2 事务日志 1.1.3 最基本的数据库对象:表 1.1.4 文件组 1.1.5 数据库关系图 1.1.6 视图 1.1.7 存储过程 1.1.8 用户自定义函数 ...
3. 使用聚合和物化视图:在数据仓库场景中,可以预先计算并存储聚合结果,或者使用物化视图来减少查询时的计算量,提高查询效率。 4. 利用查询缓存:SQL Server提供了查询缓存功能,可以缓存查询结果。对于经常执行...
- SQL Server 的性能监视和调优工具如 DMVs(动态管理视图)和 Profiler 提供了深入的分析能力。 9. **安全性和权限管理**: - Oracle 使用角色和权限来控制访问,SQL Server 则有用户、登录和角色的概念。 - ...
Oracle在高级特性如分区、物化视图以及PL/SQL方面更强大,而SQL Server在易用性、与.NET框架的集成以及与Windows环境的紧密配合上表现出色。理解这些差异有助于我们更好地利用这两种数据库系统的优势。
第1章 RDBMS基础:SQLServer数据库的构成 1.1 数据库对象概述 1.1.1 数据库对象 1.1.2 事务日志 1.1.3 最基本的数据库对象:表 1.1.4 文件组 1.1.5 数据库关系图 1.1.6 视图 1.1.7 存储过程 1.1.8 用户自定义函数 ...
4. 数据仓库优化:Oracle提供了专门的数据仓库优化工具,如星型模式优化、物化视图和自动统计信息收集等。 二、SQL Server SQL Server是由微软公司开发的,它在Windows环境中表现优秀,并且与微软的其他产品有良好...
- 性能优化:熟悉SQL优化器,学会使用EXPLAIN PLAN,理解CBO和RBO,以及如何通过索引、物化视图等方式优化查询性能。 以上知识点在压缩包中的各个文档中都有所体现,通过解答这些题目,用户可以系统地复习并提升...
6. **使用覆盖索引和物化视图**:覆盖索引包含查询所需的所有列,避免了回表操作,从而提高查询速度。物化视图预先计算并存储查询结果,对于重复的复杂查询特别有用。 7. **适当的索引策略**:创建合适的索引可以...
第1章 RDBMS基础:SQLServer数据库的构成 1.1 数据库对象概述 1.1.1 数据库对象 1.1.2 事务日志 1.1.3 最基本的数据库对象:表 1.1.4 文件组 1.1.5 数据库关系图 1.1.6 视图 1.1.7 存储过程 1.1.8 用户自定义函数 ...
在SQL Server中,索引视图是一种特殊类型的物化视图,它预先计算并存储了查询结果,以提高复杂查询的性能。然而,在实际应用中,可能会遇到各种问题,需要采取变通方法来解决。本篇文章将深入探讨如何在使用SQL ...