2009-10-06 58 views
2

在Oracle中,使用物化視圖和分析工作區有哪些優缺點?圍繞使用這些功能的最佳實踐是什麼?Oracle材料視圖與分析工作區

我們有一個OLTP系統,但也想訪問報告和交互式決策支持工具中的摘要信息。

回答

3

我從來沒有使用分析工作區,但有一些真正的缺點MV(儘管我們使用它們)。兩件事情:

  1. 他們,實際上,表。這意味着他們佔用空間。在我們的一些情況下,我們正在使用它們來幫助訪問具有數百萬行的表的遠程數據。視圖是查詢結果,並且是虛擬的。 MV是實際的(有真正的行,而不是內存結構)。

  2. 我們碰到的其他問題之一就是,當MV在刷新時失敗時,它永遠不會再嘗試刷新。
    對於我們來說,我們相信這是發生在兩種情況下:

      在遠程系統的情況下
    • ,如果到該遠程系統的連接刷新過程中被刪除,該MV可能永遠不會再次刷新,並可能有被丟棄和重建。
    • 如果其中一個表MV是基於變化結構的話,似乎會發生同樣的事情。所以,例如,我有一個使用查詢「select * from mywork」構建的MV。在某個時候,我發出alter命令將列FirstName從varchar2(100)更改爲varchar2(150)。在那個時候,我們經常看到MV刷新失敗並且永遠不會恢復。

的細節真的並不重要,重要的是,你肯定是要監控你的MV,以確保他們的數據是最新的。

1

我還沒有使用分析工作區,所以不能跟他們說話。

但是,物化視圖可能非常有用。它們本質上是緩存的視圖結果,您可以在其上執行構建索引等操作。取決於它們的配置方式(帶有或不帶有日誌),與「實時」數據相比,它們可能變得陳舊,但顯着更快(取決於您的數據和查詢)。

如果您正在處理遠程數據(數據庫鏈接),物化視圖可讓您在本地緩存數據。如果您對數據執行的計算速度較慢,則物化視圖可以讓您緩存結果(可能過時)。

物化視圖可以非常方便,他們只需要明智地實施。