物化視圖建立的時(shí)候可以定義刷新方式,一般有: refresh fast 和 refresh complete之分,前者是只更新主表中變化的記錄(主表必須建立materialized view log),而后者是把MV里面的數(shù)據(jù)全部更新。此外,更新方式還可以有:on demand, on commit, on force之分. on commit是及時(shí)更新。其實(shí)用戶創(chuàng)建materialized view的時(shí)候可以指定更新頻率。
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') --第一次刷新時(shí)間
next TRUNC(sysdate) + 1 +2/(24) --間隔多久刷新一次(第二天凌晨2點(diǎn))
as --子查詢語句,同普通view一樣
select emp.empno,emp.ename,emp.job,emp.hiredate,emp.comm,dept.loc
from emp,dept
where emp.deptno=dept.deptno;