Oracle 10g R2特性之?dāng)?shù)據(jù)倉庫和集成特性 |
發(fā)布時(shí)間: 2012/7/13 15:17:07 |
分區(qū)更改跟蹤:不需要 MV 日志
要了解此增強(qiáng)功能,首先必須了解物化視圖 (MV) 刷新過程中的分區(qū)修整概念。 假設(shè)基于列 ACC_MGR_ID 對(duì)表 ACCOUNTS 進(jìn)行了分區(qū),每個(gè) ACC_MGR_ID 值一個(gè)分區(qū)。您根據(jù) ACCOUNTS 創(chuàng)建了一個(gè)名為 ACC_VIEW 的 MV,該 MV 也根據(jù)列 ACC_MGR_ID 進(jìn)行了分區(qū),每個(gè) ACC_MGR_ID 一個(gè)分區(qū),如下圖所示: 假設(shè)已經(jīng)更新了表 ACCOUNTS 中的記錄,但只在分區(qū) P1 中進(jìn)行了此更新。要快速刷新此 MV,您只需刷新分區(qū) P1 而非整個(gè)表,這里正是與 ACC_MGR_ID 相關(guān)的數(shù)據(jù)所在的分區(qū)。Oracle 自動(dòng)執(zhí)行此任務(wù),通過一個(gè)名為分區(qū)更改跟蹤 (PCT) 的特性跟蹤對(duì)分區(qū)的更改。但有一個(gè)問題需稍加注意:要在快速刷新的過程中啟用 PCT,必須創(chuàng)建 MV 日志,當(dāng)表中的行發(fā)生變化會(huì)填充這些日志。發(fā)出刷新命令后,刷新進(jìn)程將讀取 MV 日志以識(shí)別這些更改。 不用說,該要求增加了操作的總執(zhí)行時(shí)間。此外,附加的插入操作將消耗 CPU 周期和 I/O 帶寬。 幸好,在 Oracle 數(shù)據(jù)庫 10g 第 2 版中,PCT 不需要 MV 日志即可工作。讓我們看一看它的作用方式。首先,確認(rèn)表 ACCOUNTS 中沒有 MV 日志。
現(xiàn)在,更新該表中的某個(gè)記錄。
該記錄位于分區(qū) P3 中。 現(xiàn)在,您就可以刷新此 MV 了。但首先記錄表 ACCOUNTS 所有段的段級(jí)統(tǒng)計(jì)信息。稍后,您將使用這些統(tǒng)計(jì)信息了解使用了哪些段。
本文出自:億恩科技【www.allwellnessguide.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |