物化视图建立的时候可以定义刷新方式,一般有: 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;