久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Oracle物化視圖怎么用

165次閱讀
沒有評論

共計 2150 個字符,預計需要花費 6 分鐘才能閱讀完成。

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

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

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

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-20發表,共計2150字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 巴林左旗| 陆川县| 龙南县| 赞皇县| 綦江县| 兴文县| 永吉县| 中西区| 仲巴县| 乌审旗| 南召县| 威海市| 客服| 田阳县| 沛县| 洛隆县| 恩平市| 慈溪市| 甘孜| 三门峡市| 马公市| 南昌市| 左贡县| 镇巴县| 泽库县| 横峰县| 慈利县| 江安县| 南溪县| 汉源县| 西吉县| 潞城市| 阿鲁科尔沁旗| 镇原县| 兰州市| 广水市| 黄浦区| 陈巴尔虎旗| 晋州市| 策勒县| 聊城市|