亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle物化視圖怎么用

發布時間:2021-11-11 14:05:25 來源:億速云 閱讀:120 作者:小新 欄目:關系型數據庫

這篇文章主要介紹了Oracle物化視圖怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Oracle物化視圖的用法與總結

物化視圖(material view)是什么?

物化視圖是包括一個查詢結果的數據庫對象,它是遠程數據的的本地副本,或者用來生成基于數據表求和的匯總表。

物化視圖存儲基于遠程表的數據,也可以稱為快照(類似于MSSQL Server中的snapshot,靜態快照)。對于復制,物化視圖允許你在本地維護遠程數據的副本,這些副本是只讀的。

如果你想修改本地副本,必須用高級復制的功能。當你想從一個表或視圖中抽取數據時,你可以用從物化視圖中抽取。

對于數據倉庫,創建的物化視圖通常情況下是聚合視圖,單一表聚合視圖和連接視圖。(這個是基于本地的基表或者視圖的聚合)。

物化視圖,說白了,就是物理表,只不過這張表通過oracle的內部機制可以定期更新,將一些大的耗時的表連接用物化視圖實現,會提高查詢的效率。當然要打開查詢重寫選項;

Material View的主要作用

1. 實現兩個數據庫之間的數據同步,可以存在時間差。

2. 如果是遠程鏈接數據庫的場景時,提高查詢速度。

(由于查詢邏輯復雜,數據量比較大,導致每次查詢視圖的時候,查詢速度慢,效率低下)

物化視圖的刷新方式和方法

1. 刷新的方式

Fast

Complete

Fource

2. 刷新的方法

DBMS_REFRESH.Refresh

DBMS_MVIEW.Refresh

EXEC DBMS_MVIEW.refresh('BXJ_OBJECTS_MV_T1','C');
EXEC DBMS_REFRESH.refresh('REP_MVIEWGROUP');  物化視圖的刷新方式和方法  (1).在源數據庫建立mview log日志文件

        create materialized view log on w_1 ;

----注:(TEST為表名或者視圖名,關于視圖上建立物化視圖,見基于視圖的物化視圖

----創建物化視圖語句:

    (2).在統計數據建立materializad view  語法    

Create materialized view MV_TEST

----MVTEST為物化視圖名

Build immediate

----創建時生成數據對應的是build deferred

Refresh fast

----增量刷新

On commit

----在基表有更新時提交,這里該句對視圖無效

With rowid

----這里創建基于rowid的物化視圖,對應的是 primary key

As

Select * from TEST;

----生成物化視圖數據語句

或者

    CREATE MATERIALIZED VIEW MV_TableName
        BUILD IMMEDIATE      --創建時立即刷新
         REFRESH FORCE        --如果可以快速刷新則進行快速刷新,否則完全刷新
         ON DEMAND            --刷新方式
         START WITH SYSDATE   --第一次刷新時間
         NEXT  SYSDATE+1/12   --刷新時間間隔
         AS SELECT 1 id ‘A’ name FROM dual;

    (3).調用時進行刷新

        dbms_refresh.refresh('W_1')

創建物化視圖 CREATE MATERIALIZED VIEW bxj_objects_mv_t1 REFRESH FAST AS SELECT * FROM apps.bxj_objects_t1;
CREATE MATERIALIZED VIEW bxj_objects_mv_t2 REFRESH FORCE AS SELECT * FROM bxj_objects_t2;
CREATE MATERIALIZED VIEW bxj_objects_mv_t3 REFRESH COMPLETE AS SELECT * FROM bxj_objects_t3; ON DEMAND和ON COMMIT物化視圖的區別 ON DEMAND和ON COMMIT物化視圖的區別在于其刷新方法的不同,

ON DEMAND顧名思義,僅在該物化視圖“需要”被刷新了,才進行刷新(REFRESH),即更新物化視圖,以保證和基表數據的一致性;

而ON COMMIT是說,一旦基表有了COMMIT,即事務提交,則立刻刷新,立刻更新物化視圖,使得數據和基表一致。 物化視圖是物理表的么? 1) 物化視圖在某種意義上說就是一個物理表(但并不僅僅是一個物理表),這通過其可以被user_tables查詢出來,而得到佐證;

2) 物化視圖也是一種段(segment),所以其有自己的物理存儲屬性;

3) 物化視圖會占用數據庫磁盤空間,這點從user_segment的查詢結果,可以得到佐證。

查詢物化視圖上次刷新時間

SELECT last_refresh_date 
     FROM user_mviews 
    WHERE mview_name = 'MV_TABLENAME';

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Oracle物化視圖怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永福县| 伊通| 宁晋县| 广东省| 威信县| 都安| 于都县| 临城县| 醴陵市| 海伦市| 连江县| 海淀区| 巢湖市| 东宁县| 富阳市| 温泉县| 万源市| 陇川县| 新闻| 阳谷县| 汉阴县| 信宜市| 沙湾县| 邛崃市| 溧水县| 香格里拉县| 山东| 周至县| 岳西县| 阜南县| 巫山县| 高淳县| 剑阁县| 高雄县| 靖江市| 三穗县| 历史| 新巴尔虎左旗| 广河县| 寿光市| 牙克石市|