物化檢視上使用bitmap索引
還是同一個客戶的系統,生產機是OLTP系統,肯定無法使用點陣圖索引,但是對於查詢機,上面不存在並行的DML操作,只有物化檢視的重新整理這個DML操作。
跟蹤了下dbms_mview.refresh操作,發現其其實是一條資料一條資料更新的。我刪了3條資料,在重新整理時,執行了3次delete操作。
DELETE FROM "CTAIS2"."MV_TEST" SNAP$ WHERE "OBJECT_ID" = :1
call count cpu elapsed disk query current rows ------- ------ -------- ---------- ---------- ---------- ---------- ---------- Parse 1 0.00 0.00 0 12 0 0 Execute 3 0.00 0.00 1 6 9 3 Fetch 0 0.00 0.00 0 0 0 0 ------- ------ -------- ---------- ---------- ---------- ---------- ---------- total 4 0.00 0.00 1 18 9 3 |
這樣,也不可能存在什麼並行DML的操作等。覺得把物化檢視的索引改成點陣圖索引肯定沒有問題,而且對大量的問題查詢的使用更好的執行計劃
測試了下,對重新整理沒什麼問題
決定下次做優化的時候提出來,以改善效能。
如果有問題,大不了資料一天不能同步,晚上重建下,沒太多危險。
但是需要注意,點陣圖索引對CPU存在更多的開銷,但是考慮到對SQL語句效率的改善,應該在可以接受的範圍內。
物化檢視的重新整理是使用遊標形式,一條一條的來乾的。其實可以用CDC捕獲變化,自己編寫SQL來同步,應該效率更高,ODI自帶的KM有一個就是這麼實現的。當然,mview log也能實現同樣的方法,dbms_mview有相應的儲存過程
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8242091/viewspace-609539/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 物化檢視妙用__表同步使用物化檢視方法
- 【筆記】 使用物化檢視(一)筆記
- 【物化檢視】幾種物化檢視日誌分析
- 【物化檢視】根據物化檢視日誌快速重新整理物化檢視的過程
- oracle物化檢視Oracle
- 使用 on prebuilt table 建立物化檢視 (ZT)UI
- 使用 on prebuilt table 建立物化檢視(zt)UI
- zt_yangtinkung_ITPUB知識索引貼——物化檢視materialized view索引ZedView
- 索引組織表上建立BITMAP索引(三)索引
- 索引組織表上建立BITMAP索引(二)索引
- 索引組織表上建立BITMAP索引(一)索引
- Oracle物化檢視的建立及使用(二)Oracle
- Oracle物化檢視的建立及使用(一)Oracle
- 物化檢視詳解
- oracle 建立物化檢視Oracle
- Oracle 物化檢視建立Oracle
- materialized view (物化檢視)ZedView
- 物化檢視 on commitMIT
- 物化檢視日誌表被DROP後建立物化檢視報錯
- 使用index_stats檢視檢視索引效率Index索引
- Oracle如何根據物化檢視日誌快速重新整理物化檢視Oracle
- 物化檢視的快速重新整理測試與物化檢視日誌
- 普通檢視和物化檢視的區別
- calcite物化檢視詳解
- Oracle物化檢視詳解Oracle
- ORACLE物化檢視測試Oracle
- Oracle 物化檢視案例分享Oracle
- 物化檢視梳理總結
- ZT 物化檢視詳解
- Oracle物化檢視語法Oracle
- ORACLE物化檢視入門Oracle
- 物化檢視-學習篇
- 刷物化檢視並行並行
- oracle物化檢視系列(二)Oracle
- oracle物化檢視系列(一)Oracle
- 12c 物化檢視 - 理解完全重新整理的物化檢視工作原理
- 物化檢視匯出匯入可能導致物化檢視日誌的失效
- DB2資料庫物化檢視:MQT物化查詢表的使用DB2資料庫MQQT