Oracle设置物化视图的自动刷新

物化视图建立的时候可以定义刷新方式,一般有: refresh fast 和 refresh complete之分,前者是只更新主表中变化的记录(主表必须建立materialized view log),而后者是把MV里面的数据全部更新。此外,更新方式还可以有:on demand, on commit, on force之分. on commit是及时更新。其实用户创建materialized view的时候可以指定更新频率。

1、

create materialized view big_table_mv nologging

refresh fast on demand

with rowid

START WITH TO_DATE('18-03-2011 10:09:08', 'DD-MM-YYYY HH24:MI:SS') NEXT SYSDATE + 1 / 60*24

as select * from big_table;

2、

create materialized view V_HYTEMP

refresh complete

start with to_date('05-07-2019 18:00:00', 'dd-mm-yyyy hh24:mi:ss') --第一次刷新时间

next TRUNC(sysdate) + 1 +2/(24) --间隔多久刷新一次(第二天凌晨2点)

as --子查询语句,同普通view一样

select emp.empno,emp.ename,emp.job,emp.hiredate,emp.comm,dept.loc

from emp,dept

where emp.deptno=dept.deptno;

推荐阅读更多精彩内容