zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

oracle 物化视图详解

Oracle 详解 视图 物化
2023-09-27 14:28:18 时间
物化视图(Materialized View)在9i以前的版本叫做快照(SNAPSHOT),从9i开始改名叫做物化视图。

原文转自:http://www.itpub.net/thread-1308625-1-1.html

物化视图(Materialized View)在9i以前的版本叫做快照(SNAPSHOT),从9i开始改名叫做物化视图。其实无论是快照还是物化视图,都能体现出这个对象的特点。物化视图中的数据来自于基表某个时刻(物化视图的创建时刻,或刷新时刻),因此可以认为是基表都个时刻的快照。
物化视图和视图类似,反应的是某个查询的结果,但是和视图仅保存SQL定义不同,物化视图本身会存储数据,因此是物化了的视图。
根据使用功能来分,物化视图可以分为用于数据复制的,或用于预计算查询重新的两个方面。物化视图本身有具有很多特性,根据创建方式、刷新方式、是否可更新、是否支持查询重新等可以将物化视图进行进一步的细分。

1、用于数据复制的物化视图

物化视图的一个主要功能就是用于数据的复制,Oracle推出的高级复制功能分为两个部分,多主复制和物化视图复制。而物化视图复制就是利用了物化视图的功能。

物化视图复制: 包含只读物化视图复制、可更新物化视图复制和可写物化视图复制。
       只读物化视图复制建立的是源数据库的只读环境。

       可更新物化视图复制建立基于物化视图双向复制环境。
       可写物化视图复制在物化视图建立的时候使用了FOR UPDATE,但是没有像可更新物化视图那样添加到物化视图组中,因此本地物化视图可以修改,但是修改无法发送到源数据库中,因为修改在物化视图刷新后会丢失,这种类型的物化视图复制很少使用。
只读物化视图环境复制创建的例子:http://www.itpub.net/thread-204968-1-1.html
http://www.itpub.net/viewthread.php?tid=234279



























PostgreSQL自身的物化视图没有MVLOG,也就是说,刷新的时候是VIEW定义产生的记录与MV已刷新的记录进行比对,进行增量更新的过程。
Oracle 物化视图和物化视图日志 物化视图是将查询预先定义在结构中,并手动或者定期刷新将结果存储在物化视图段中,也就是说跟普通视图不同,它是需要存储空间的,从而不需要重新或者反复的执行sql语句,支持增量刷新,快速获取结果,提高数据获取的效率。