2011-12-20 51 views
1

我在一個月內更新了一次的表上創建了物化視圖(MV).. 我們是否有任何自動方式來刷新我的MV ... 我的意思是如何刷新MV自動完成是手動還是自動多頻率我們可以做什麼?????????????????????????????????????????? 像我可以使用觸發器.. ?? ??在Oracle中刷新Materialzed視圖

我使用Oracle9i中的PL/SQL開發人員 感謝

回答

2

可以刷新,如果手動你想

execute DBMS_SNAPSHOT.REFRESH('MAT_VIEW','OPTION'); 

凡OPTION參數可以是

F中的觀點,F快速刷新
C,c完整刷新
A始終執行完整刷新
?當你創建物化視圖

CREATE MATERIALIZED VIEW MAT_VIEW 
    REFRESH FAST START WITH SYSDATE 
    NEXT SYSDATE + TIME_INTERVAL -- 
    WITH PRIMARY KEY 
    AS SELECT * FROM TABLE; 

記住創建日誌表,如果使用快速啓動使用默認選項

自動刷新速率提供。

我推薦以下關於物化視圖的鏈接。它有很多關於這個話題的信息:http://www.dba-oracle.com/art_9i_mv.htm

+0

哪種課程你可以投入觸發器 – 2011-12-20 08:47:46

+0

@jonathan&Eugen謝謝....什麼是快速刷新和強制刷新?如果我寫觸發器,我會寫完這個執行語句在它裏面完全刷新..糾正我,如果我錯了。 – Avi 2011-12-20 08:52:12

+1

@Avi rou're正確,你可以把它放在觸發器上,或者你甚至可以配置MV是提交時自動刷新(請參閱鏈接)。快速刷新意味着將使用存儲在日誌中的信息逐步刷新視圖。這將有助於提高大視圖或經常刷新的性能。 – Jonathan 2011-12-20 08:55:36