標籤:ant complete time 分布 更新 日誌 使用 物化視圖 失敗
物化視圖:具有實體儲存體的特殊視圖,就像表對象一樣。物化視圖和表一樣可以直接進行查詢。通過讀寫分離機制起到分散式查詢的作用,它是最佳化查詢效能,提高系統工作效率的有效方法之一。
建立:
create materialized view view_namerefresh [fast|complete|force][on [commit|demand] |start with (start_time) next (next_time)][enable query rewrite]as{建立物化視圖用的查詢語句}
建立物化視圖:
--使用fast重新整理方式需要建立物化視圖日誌:SCOTT>create materialized view log on emp;--建立物化視圖:SCOTT>create materialized view emp_mview 2 build immediate 3 refresh fast on commit 4 enable query rewrite 5 as 6 select * from emp;
刪除物化視圖:
SCOTT>drop materialized view emp_mview;SCOTT>drop materialized view log on emp;
建立物化視圖需要create materialized view許可權:
SYS>grant create materialized view to scott;
查詢重寫:當對物化視圖的基表進行查詢時,Oracle 會自動判斷能否通過查詢物化視圖來得到結果。最佳化器自動計算判斷物化視圖能否滿足查詢要求,以及是否能提高效能。如果滿足要求且能提高效能,最佳化器將重寫查詢,使用物化視圖獲得結果。查詢重寫對使用者是透明的。
要開啟查詢重寫功能,query_rewrite_enabled參數要設定為true:
SYS>show parameter query_rewrite_enabledNAME TYPE VALUE------------------------------------ ----------- ------------------------------query_rewrite_enabled string TRUE
物化視圖的重新整理方式:
- on commit:基表更新資料提交後,立即重新整理物化視圖。
- on demand:手動調用dbms_mview.refresh過程重新整理物化視圖。
complete:完全重新整理,重新執行建立物化視圖的sql語句。
fast:增量重新整理,只更新變化了的資料,要建立物化視圖日誌。
force:先使用fast更新,如果失敗,則使用complete。
never:不重新整理。
【oracle】物化視圖