簡體   English   中英

Oracle物化視圖計算成本

[英]Oracle materialized view computational cost

在Oracle中基於查詢執行或結果集更新存儲過程的 實現的計算成本是物化視圖嗎? 更具體地說,Oracle是否以這種方式大大節省了刷新視圖所需的時間來存儲查詢結果?

當然,執行時間非常長的查詢以及結果集的大小令人難以置信,使得這無處不在。

問題更多是關於視圖實際上如何存儲結果集(在內存中,在磁盤上)的信息,因此我可以考慮重建實例化視圖的頻率。

物化視圖基本上是一個表,結合有算法對其進行更新。

01:37:23 HR@sandbox> create materialized view mv_dual as select dummy from dual;

Materialized view created.

Elapsed: 00:00:00.52
01:37:56 HR@sandbox> select object_name, object_type from user_objects where object_name = 'MV_DUAL';

OBJECT_NAME     OBJECT_TYPE
--------------- -------------------
MV_DUAL         TABLE
MV_DUAL         MATERIALIZED VIEW

Elapsed: 00:00:00.01

您還可以在預建表上創建實例化視圖。

如果我們談論刷新-有兩種選擇:快速刷新和完全刷新。

完全刷新僅重新執行MV查詢,而快速刷新則執行增量更新。

http://docs.oracle.com/cd/E16338_01/server.112/e10706/repmview.htm#i29858

有兩種類型的mview

完成刷新mview-整個mview將在每次刷新時重建。 類似於刪除和插入(注意:如果您指定atomic = F或版本小於9,將被截斷/插入附加)。

快速刷新mview-oracle將創建一個表來存儲增量更改。 刷新時,存儲在邊表中的更改將應用​​於mview。

快速刷新在刷新時更快,但是會減慢基表上的dml操作。

在考慮刷新策略時,應考慮對基表進行了多少更改以及需要多長時間刷新一次mview。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM