物化视图使用小结

来源:互联网 发布:论文英语翻译软件 编辑:程序博客网 时间:2024/06/08 11:19

物化视图使用小结  


物化视图的刷新有二类,分别是:on commit ;on demand。刷新方法有三种分别是:快速(FAST),完全(COMPLETE),强制(FORCE);


ON COMMIT 与DEMAND 在应用中的问题
ON COMMIT

如果选择on commit ,则在对主表应用上会造成速度,这是因为ORACLE在对主表操作提交后马上会进行刷新物化视图操作,这部分时间是也包括在提交时间中。

a) refresh force on commit:中对删,新增记录,物理视图都能真实反映主表的变化。同时这种情况下不用建物化视图日志表。缺点是提交时间长。

b) refresh fast on commit:中对新增或修改能真实反映主表的变化,但对删除则不能反映,必须进行一次完全刷新。

 


ON DEMAND

DEMAND必须用DBMS_MVIEW.REFRESH存储过程建立的JOB去定时刷新物化视图。

a) refresh fast on DEMAND:必须通过调用DBMS_MVIEW.REFRESH存储过程来进行快速刷新反映主表新增情况;但当对主表中的数据删除或修改时,快速刷新则会报错,因此必须调DBMS_MVIEW.REFRESH的完全刷新才能反映。可以通过建立JOB解决。

表1:快速刷新

declare
v_mvname varchar2(50);
begin
v_mvname:='MOCHA_FE_DOC_CONTENT_MV';
dbms_mview.refresh(v_mvname,'f');
end;
/

        

表2:完全刷新

declare
v_mvname varchar2(50);
begin
v_mvname:='MOCHA_FE_DOC_CONTENT_MV';
dbms_mview.refresh(v_mvname,'C');
end;
/

        

 

注意:用FAST 刷新物化视图,前提要新建物化视图日志表。

b) refresh force/complate on DEMAND:

在这种方式下物化视图也是无法自动刷新,必须通过JOB或手工。


FAST、FORCE、COMPLETE区别

FAST:增量式刷新,使用此方法必须有前提,就是建立物化视图日志表。

FORCE::如果可以以fast 方式刷新则用,否则完全刷新。

COMPLETE:先将物化视图表内容删除,然后再刷新。此方式缺少就是在刷新时间内用法在页面无法查到的所需要内容。

0 0
原创粉丝点击