<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    本站不再更新,歡迎光臨 java開發技術網
    隨筆-230  評論-230  文章-8  trackbacks-0
    oracle物化視圖
                                          
    物化視圖對于前臺數據庫使用者來說如同一個實際的表,具有和一般表相通的如select等操作,而其實際上是一個視圖,一個由系統實現定期刷新其數據的視圖(具體刷新時間在定義物化視圖的時候已有定義),使用物化視圖更可以實現視圖的所有功能,而物化視圖確不是在使用時才讀取,大大提高了讀取速度,特別適用抽取大數據量表某些信息以及數據鏈連接表使用.具體語法如下:
     
    物化視圖對于前臺數據庫使用者來說如同一個實際的表,具有和表相通的一般select操作,而其實際上是一個視圖,一個定期刷新數據的視圖(具體刷新時間在定義物化視圖的時候已有定義),使用物化視圖可以實現視圖的所有功能,而物化視圖確不是在使用時才讀取,大大提高了讀取速度,特別適用抽取大數據量表某些信息以及數據鏈連接表使用.具體語法如下:
    CREATE MATERIALIZED VIEW an_user_base_file_no_charge
                 REFRESH COMPLETE START WITH SYSDATE 
                NEXT  TRUNC(SYSDATE+29)+5.5/24
       as
    select distinct user_no
      from cw_arrearage t
     where (t.mon = dbms_tianjin.getLastMonth or
           t.mon = add_months(dbms_tianjin.getLastMonth, -1))
    drop materialized view an_user_base_file_no_charge;
     

    第 13 章 物化視圖
      8.1.5企業版/個人版開始支持
      需要權限:GRANT CREATE MATERIALIZED VIEW,還必須直接賦予GRANT QUERY REWRITE.為實現查詢重寫,必須使用CBO.
      13.1 物化視圖如何工作
      設置
      COMPATIBLE參數必須高于8.1.0
    QUERY_REWRITE_ENABLED = TRUE
    QUERY_REWRITE_INTEGRETY =
      ENFORCED - 查詢僅用Oracle強制與保證的約束、規則重寫;
      TRUSTED – 查詢除用Oracle強制與保證的約束、規則,也可用用戶設定的數據間的任何關系來重寫;
      STALE_TOLERATED – 即便Oracle知道物化視圖中數據過期(與事實表等不同步),也重寫查詢。
      創建物化視圖的用戶必須具有直接賦予的GRANT QUERY REWRITE權限,不能通過角色繼承。
      內部機制
      全文匹配
      部分匹配:從FROM子句開始,優化器比較之后的文本,然后比較SELECT列表
      一般重寫方法:
      數據充分
      關聯兼容
      分組兼容
      聚集兼容
      13.2 確保使用物化視圖
      約束
      考慮到現實環境的數據量,可以將主鍵、外鍵、非空等約束置為NOVALIDATE,并調整QUERY_REWRITE_INTEGRITY為TRUSTED,這樣可以達到“欺騙”數據庫的目的,但必須注意如果無法保證此類約束的真實有效,查詢改寫后可能造成結果不精確。
      維度
      實際就是指明已存在的表中各列的歸并關系,從而關聯事實表后形成的物化視圖可用于向“上”歸并(相當于用表中代表更高歸并關系的列關聯事實表)。標準語法:
    CREATE DIMENSION time_hierarchy_dim
      LEVEL day      IS time_hierarchy.day
      LEVEL mmyyyy   IS time_hierarchy.mmyyyy
      LEVEL yyyy     IS time_hierarchy.yyyy
    HIERARCHY time_rollup
    (day CHILD OF mmyyyy CHILD OF yyyy)
    ATTRIBUTE mmyyyy
    DETERMINES mon_yyyy;
      13.3 DBMS_OLAP
      估計(物化視圖)大小
      DBMS_OLAP.ESTIMATE_SUMMARY_SIZE(視圖名, 視圖定義, 估計行數, 估計字節數);
      其中后兩個參數為NUMBER型輸出參數。
      維度有效性檢查
      DBMS_OLAP.VALIDATE_DIMENSION(視圖名, 用戶名, FALSE, FALSE);
      SELECT * FROM 維度表名
      WHERE ROWIN IN (SEELCT bad_rowid FROM MVIEW$_EXCEPTION);
      所選出行即為不符合維度定義的行。
      推薦物化視圖
      首先必須添加合適的外鍵,包通過外鍵來判定表之間的關系而不是維度。
      DBMS_OLAP.RECOMMEND_MV(事實表名, 1000000000, ‘’);
      第二個參數表示物化視圖可用的空間大小,可傳入一個較大的數。第三個參數傳入需要保留的特定物化視圖,傳入空即為不考慮其他物化視圖。
    執行C:\oracle\RDBMS\demo\sadvdemo后執行:
      DEMO_SUMADV.PRETTYPRINT_RECOMMENDATIONS
      13.4 最后說明
      物化視圖不為OLTP系統設計
      在事實表等更新時會導致物化視圖行鎖,從而影響系統并發性。
     
     
     
    posted on 2008-05-21 17:31 有貓相伴的日子 閱讀(4502) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    本站不再更新,歡迎光臨 java開發技術網
    主站蜘蛛池模板: 伊人久久亚洲综合| 亚洲尹人九九大色香蕉网站 | 亚洲综合精品一二三区在线| 在线观看免费中文视频| 亚洲熟妇无码AV| 国产福利电影一区二区三区,亚洲国模精品一区| 国产精品免费视频观看拍拍| 亚洲美女视频网址| 免费一级毛片不卡在线播放| 免费黄色电影在线观看| 亚洲av无码成人精品区一本二本| 亚洲国产精品嫩草影院在线观看| 久久精品无码一区二区三区免费| yellow视频免费看| 亚洲色偷偷综合亚洲AV伊人蜜桃| 夜夜春亚洲嫩草影院| 在线精品免费视频| 99久久免费精品视频| 日韩在线视频免费| 亚洲宅男精品一区在线观看| 亚洲精品无码专区久久久 | 亚洲国产老鸭窝一区二区三区| 日产乱码一卡二卡三免费| 久久国产乱子伦精品免费看| 无套内射无矿码免费看黄| 亚洲午夜精品一区二区公牛电影院 | 中文字幕免费观看全部电影| 最新亚洲春色Av无码专区| 亚洲av无码成h人动漫无遮挡| 四虎影永久在线高清免费| 久久经典免费视频| 久久青草免费91观看| 国产成人1024精品免费| 久久亚洲中文无码咪咪爱| 亚洲一区二区三区久久| 在线免费观看亚洲| 精品国产亚洲一区二区三区| 亚洲国产一成久久精品国产成人综合| 成年女人午夜毛片免费视频| 无码国产精品一区二区免费虚拟VR | 两性色午夜免费视频|