• 欢迎访问金笔头博客,这是一个菜鸟(伪)程序员的自留地,欢迎访问我的github:点击进入

Oracle笔记(5)物化视图与普通视图

oracle eason 1622次浏览 2个评论 扫描二维码

普通视图是虚拟表,是不存储任何数据的,它只有定义,任何对普通视图的查询,Oracle都实际上转换为视图SQL语句的查询。

物化视图是一个包括查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照!

 

物化视图的类型ON DEMANDON COMMIT,二者的区别在于刷新方法的不同。

ON DEMAND:仅在该物化视图需要被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性;

ON COMMIT:一旦基表有了事务提交(COMMIT),则立刻刷新,立刻更新物化视图,使得数据和基表一致;

 

物化视图的刷新:指当基表发生了DML操作后,物化视图何时采用哪种方式和基表进行同步。

刷新的模式有两种:ON DEMANDON COMMIT

刷新的方法有四种:FASTCOMPLETEFORCENEVER

FAST刷新采用增量刷新,只刷新自上次刷新以后进行的修改。

COMPLETE刷新对整个物化视图进行完全的刷新。

如果选择FORCE方式,则Oracle在刷新时会去判断是否可以进行快速刷新,如果可以则采用FAST方式,否则采用COMPLETE的方式。

NEVER指物化视图不进行任何刷新

 

物化视图的特点:
1)物化视图在某种意义上说就是一个物理表(而且不仅仅是一个物理表),这通过其可以

user_tables查询出来,而得到佐证;

2)物化视图具有表一样的特征,所以可以像对表一样,我们可以为它创建索引,创建方法和对表;
3)物化视图也是一种段(segment),所以其有自己的物理存储属性;物化视图会占用数据库磁盘空间,这点从user_segment的查询结果,可以得到佐证;
创建语句:create materialized view mv_name as select * from table_name
4 默认情况下,如果没指定刷新方法和刷新模式,则Oracle默认为FORCEDEMAND

 

物化视图的删除:无法用表的方式来删除,可以用语句来实现drop materialized view 物化视图名字


金笔头博客, 版权所有丨如未注明 , 均为原创, 转载请注明Oracle笔记(5)物化视图与普通视图
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. Really enjoyed this blog.Really thank you! Will read on...
    tied up and fucked2016-02-02 01:01 Reply 未知操作系统 | 未知浏览器
  2. My brother recommended I might like this web site. He was entirely right. This post truly made my day. You can not imagine simply how much time I had spent for this info! Thanks!
    fiverr backlinks2016-01-04 01:47 Reply Windows XP | Firefox 3.0.14