Oracle物化檢視DBMS_MVIEW.EXPLAIN_MVIEW包的使用

perfychi發表於2014-02-13
DBMS_MVIEW.EXPLAIN_MVIEW能分析三種不同的物化檢視程式碼,分別是:
 
1.定義的查詢
2.一個CREATE MATERIALIZED VIEW的語句
3.一個存在的物化檢視
 
步驟如下:    
 
1、提前執行dbms_mview.explain_mview用到的表mv_capabilities_table的建表語句
SQL>@F:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlxmv.sql;
如果未執行此語句,則有執行包的時候會報表不存在的錯誤。
 
2、先清空表中記錄,便於分析資訊的檢視
TRUNCATE TABLE mv_capabilities_table;
 
3、執行包dbms_mview.explain_mview,其中,包裡的引數可以是物化檢視、查詢語句、CREATE物化檢視語句。
begin    
 dbms_mview.explain_mview('SELECT a.id,b.name,a.rowid a_rowid,b.rowid b_rowid FROM comp1 a , comp2 b WHERE a.id=b.id');
 end;
/
 
4、檢視分析結果或錯誤報告
select MSGTXT from mv_capabilities_table where capability_name='REFRESH_FAST_AFTER_INSERT';
select * from mv_capabilities_table;
Tips:
(1)、物化檢視在判斷是否支援重新整理時不支援SQL92的標準外聯接的寫法,需要改成自己的(+)的方式。
(2)、對於包含外聯接的物化檢視的快速重新整理,無法高效的利用物化檢視日誌,因此即使是快速重新整理,效能也可能很差。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27042095/viewspace-1081044/,如需轉載,請註明出處,否則將追究法律責任。

相關文章