OCM考试经验--物化视图详解及用

---======================================

--=  OCM考试经验

--=      物化视图

--=

--=======================================


一、物化视图解释

OCM考试中,物化视图所属SECTION 4,是专门检验数据仓库知识的环节,因此物化视图的主要作用就是降低复杂连接查询的资源消耗,直接在一个实体化(物化)视图中保存查询结果,在日后可以随时调用,数据仓库一般提供读取工作较多,事务性工作较少,如果基表的一次更新都需要大量复杂查询,性能显然不可以保证,物化视图则缓解这一问题

它的基本定义是:物化视图是包括一个查询结果的数据库对象,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。对于复制,物化视图允许你在本地维护远程数据的副本,这些副本是只读的。如果你想修改本地副本,必须用高级复制的功能。当你想从一个表或视图中抽取数据时,你可以用从物化视图中抽取。 对于数据仓库,创建的物化视图通常情况下是聚合视图,单一表聚合视图和连接视图。物化视图可以查询表,视图和其它的物化视图。

 1、物化视图与其他概念的区别

物化视图与普通表---两者都可以在user_objects查询到相关对象,但普通表一般存储原始数据即第一手生成数据、不依赖其他表,而物化视图的结果集多是复杂的多表连接查询结果,而且某些情况下,而原始表的的更新可以根据需要及时在物化视图上体现出来,普通表则不具备这种功能。

  2、物化视图与普通视图的区别

普通视图并不在user_objects产生相应对象,只在数据库中建立查询定义且不具备降低资源消耗的功能,每次查询视图都要重新执行视图的定义,多数用于为远程登录用户提供数据只读查询的转换。



二、物化视图的使用

   1、准备条件:
创建相应用户,并且需要dba赋予grant  create materialized view to xxx
   2、创建物化视图日志:

当使用快速刷新的时候,对基表的所有更改都是先记录在物化视图日志当中,当执行相应的刷新操作时,由日志更新物化视图,

之后日志清空物化视图日志表的名称为mlog$_后面跟基表的名称,且物化视图必须包含基表主键,且基表会有主键,如果不包括,会提示错误。

对多表联合查询时,需要为每个表创建日志


   3、创建物化视图

            基本语句

       create materialized view xxx

           

          选项

创建时间:build immediate   build deferred

Build immediate:在创建物化视图的同时根据主表生成数据

Bulid deferred:在创建物化视图的同时,在物化视图内不生成数据,如果此时没有生成数据,以后可以采取完全刷新即可


Refresh子句选项:(complete|fast|force)

--Refresh方法-COMPLETE子句

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值