love wife love life —Roger的Oracle/MySQL/PostgreSQL数据恢复博客

Phone:18180207355 提供专业Oracle/MySQL/PostgreSQL数据恢复、性能优化、迁移升级、紧急救援等服务

Oracle materizlized view Study (1)

本站文章除注明转载外,均为本站原创: 转载自love wife love life —Roger的Oracle/MySQL/PostgreSQL数据恢复博客

本文链接地址: Oracle materizlized view Study (1)

++++++ Oracle 物化视图学习笔记之一 ++++++++

首先描述几个术语,如下:

基表:也就是我们常说的master table和master materialized view,这里说明一下,基表并不是说
这只有一个表,它是你创建MV时所需要用到的表(可能有多个)或相关的上一级的MV。

MV: 也就是物化视图,英文名materizlized view。
源端(master 站点,master MV size): 都是指基表所在的一端(基表所在数据库)
MV端(mv站点,mv site): 物化视图所在地一端(mv所在数据库)

需要注意的是,MV跟普通的view不同,它是有segment存在的,不像view那样是虚拟存在的。你可以再dba_semgents中
查到它的对象大小,当然它的好处就是,我们在利用MV进行查询时,不再需要去访问基表了,只需通过访问MV对应的
结果集就行了。当然,这里涉及一个刷新机制,MV的数据和基表的数据是定期刷新来完成同步的。后面会讲到涉及的
集中mv的刷新机制。

下面是一个简单的创建MV的例子:

我们来看看官方文档中对于mv 刷新模式的解释,有3种方式:

我们可以来看看这个错误的具体解释:

下面来分别描述这4种情况下的创建情况:

1. 基于主键

2) 基于rowid的方式

3) 基于object id

4) 基于rowid+sequence+column

简单的总结一下,基于rowid的方式其实都是向后兼容的,从8i以后基本上就不用基于rowid的方式了,
当然也不排除一些特殊的场景仍然可以使用。

补充:

关于表mv_capabilities_table的说明,在10g中是没有,只能去参考utlxmv.sql脚本,在11g中官方文档就已经进行明确说明了
可以参考如下链接http://docs.oracle.com/cd/E11882_01/server.112/e25554/basicmv.htm#DWHSG8223

4 Responses to “Oracle materizlized view Study (1)”

  1. Oracle materizlized view Study (1) | 编程 Says:

    […] Oracle materizlized view Study (1) 作者:lovewifelovelife 发表于2012-8-22 14:51:42 原文链接 阅读:17 评论:0 […]

  2. Dong_2 Says:

    研究的东西还真广耶

  3. Lixora Says:
  4. cuilijia Says:

Leave a Reply

You must be logged in to post a comment.