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

oracle如何創建、刷新物化視圖

135次閱讀
沒有評論

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

這篇文章將為大家詳細講解有關 oracle 如何創建、刷新物化視圖,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Create materialized view log on F_RPT_TASK WITH ROWID  — 
 —-F_RPT_TASK 為表名 —- 注:(F_RPT_TASK 為表名或者視圖名,關于視圖上建立物化視圖,見基于視圖的物化視圖 —- 創建物化視圖語句:
 DROP materialized view log on  F_RPT_TASK

Create materialized view MV_F_RPT_TASK
 —-MVTEST 為物化視圖名  
Build immediate —- 創建時生成數據對應的是 build deferred 
Refresh fast —- 增量刷新  
On commit —- 在基表有更新時提交,這里該句對視圖無效
 With PRIMARY KEY —- 這里創建基于 primary key 的物化視圖,要與日志中對應的是 primary key;若日志為 rowid 則此處必須為 rowid
 As 
 Select * from F_RPT_TASK  where RPT_PERIOD in (2012,2011) —- 生成物化視圖數據語句

把物化視圖改為 nologging 模式

alter table MV_VECAM01_2YEARS nologging;

需要權限:GRANT CREATE MATERIALIZED VIEW,還必須直接賦予 GRANT QUERY REWRITE. 

創建指定刷新試圖:

1. 包含 SYSDATE/ROWNUM 或 RAW/LONG RAW 數據類型;無法建立 On commit 方式刷新。

建立時候去掉注釋。

Create materialized view log on tecam01 
TABLESPACE CISA_GXPORTAL 
WITH PRIMARY KEY 
 —-tecam01 為表名 —- 注:(tecam01 為表名或者視圖名,關于視圖上建立物化視圖,見基于視圖的物化視圖 —- 創建物化視圖語句: 
 /* 刪除日志和視圖 */
 DROP materialized view log on  tecam01
 drop materialized view MV_vecam01_2years

 
 Create materialized view MV_vecam01_2years
 TABLESPACE CISA_GXPORTAL – 保存表空間
 BUILD DEFERRED – 延遲刷新不立即刷新
 refresh force – 如果可以快速刷新則進行快速刷新,否則完全刷新
on demand – 按照指定方式刷新
start with  to_date(07-12-2013 12:00:10 , dd-mm-yyyy hh34:mi:ss)  /* 第一次刷新時間 */
next  sysdate+5/(24*60)  – 刷新時間間隔 5 分鐘一次
— next TRUNC(SYSDATE+1)+18/24 – 刷新時間間隔 隔一天的 18 點開始
  As 
  SELECT * FROM tecam01  WHERE display_time   to_char((sysdate- 730), yyyyMMdd )  ;

相關資料:

刷新(Refresh):指當基表發生了 DML 操作后,物化視圖何時采用哪種方式和基表進行同步。刷新的模式有兩種:ON DEMAND 和 ON COMMIT。ON DEMAND 指物化視圖在用戶需要的時候進行刷新,可以手工通過 DBMS_MVIEW.REFRESH 等方法來進行刷新,也可以通過 JOB 定時進行刷新。ON COMMIT 指出物化視圖在對基表的 DML 操作提交的同時進行刷新。刷新的方法有四種:FAST、COMPLETE、FORCE 和 NEVE*。**ST 刷新采用增量刷新,只刷新自上次刷新以后進行的修改。COMPLETE 刷新對整個物化視圖進行完全的刷新。如果選擇 FORCE 方式,則 Oracle 在刷新時會去判斷是否可以進行快速刷新,如果可以則采用 FAST 方式,否則采用 COMPLETE 的方式。NEVER 指物化視圖不進行任何刷新。默認值是 FORCE ON DEMAND。

二、相關參數說明

創建物化視圖主要選項說明

創建物化視圖時可以指定多種選項,下面對幾種主要的選項進行簡單說明:

Build Clause
創建方式
包括 BUILD IMMEDIATE 和 BUILD DEFERRED 兩種
BUILD IMMEDIATE
在創建實體化視圖的時候就生成數據
BUILD DEFERRED
在創建時不生成數據,以后根據需要在生成數據
BUILD IMMEDIATE
Query Rewrite
查詢重寫
包括 ENABLE QUERY REWRITE 和 DISABLE QUERY REWRITE 兩種。分別指出創建的實體化
視圖是否支持查詢重寫。查詢重寫是指當對實體化視圖的基表進行查詢時,Oracle 會自動判
斷能否通過查詢實體化視圖來得到結果,如果可以,則避免了聚集或連接操作,
而直接從已經計算好的實體化視圖中讀取數據
ENABLE QUERY REWRITE
支持查詢重寫
DISABLE QUERY REWRITE
不支持查詢重寫
DISABLE QUERY REWRITE

創建實體化試圖日志主要選項說明

如果需要進行快速刷新,則需要建立實體化視圖日志。實體化視圖日志根據不同實體化
視圖的快速刷新的需要,可以建立為 ROWID 或 PRIMARY KEY 類型的。還可以選擇
是否包括 SEQUENCE、INCLUDING NEW VALUES 以及指定列的列表。

table border= 1 width= 661  font-size:16px;background-color:#ffffff; =

WITH Clause
 
OBJECT ID
如果是對象實體化視圖 (object materialized view),
則只能采用該方式
PRIMARY KEY
 
ROWID
 
SEQUENCE
 
PRIMARY KEY

三、舉例說明
 1、簡單示例

create materialized view MV_except_pattern_ordersrefresh 
Complete on demand 
 start with to_date(2010-11-06 13:20:51 , YYYY-MM-DD HH24:MI:SS)
next sysdate+1/(24*60)
 as  select * from v_except_pattern_orders

2、帶日志物化視圖

– 創建物化視圖日志
create materialized view log on table1tablespace ts_data – 日志保存在特定的表空間
with rowid;– 創建物化視圖主體
create materialized view MV_LVY_LEVYDETAILDATATABLESPACE ZGMV_DATA
– 保存表空間
BUILD DEFERRED – 延遲刷新不立即刷新
refresh force – 如果可以快速刷新則進行快速刷新,否則完全刷新
on demand – 按照指定方式刷新
start with to_date(24-11-2005 18:00:10 , dd-mm-yyyy hh34:mi:ss) – 第一次刷新時間
next TRUNC(SYSDATE+1)+18/24 – 刷新時間間隔
as
as select * from table1;

上面這部分轉載自:

https://blog.csdn.net/dongcctv5/article/details/8614887

更新物化視圖的刷新方式:

ALTER MATERIALIZED VIEW  t_keyword_industry_sign
 REFRESH FORCE 
ON DEMAND
WITH  ROWID  
start with sysdate NEXT SYSDATE +30/24 

物化視圖的索引的創建:
create  index index_testid  on t_keyword_industry_sign(id);

索引的查詢:
select * FROM user_indexes t where t.table_name= NGCC_BEST.T_CONTRACT

關于“oracle 如何創建、刷新物化視圖”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-24發表,共計3404字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 崇州市| 平湖市| 阿坝| 旅游| 光泽县| 延吉市| 成武县| 山阳县| 永丰县| 平利县| 深水埗区| 钟祥市| 固安县| 白河县| 贵州省| 平乐县| 武城县| 临漳县| 九江县| 札达县| 徐州市| 阿勒泰市| 霍邱县| 江北区| 肥西县| 榕江县| 彭阳县| 肃宁县| 永城市| 澄迈县| 罗定市| 晴隆县| 江川县| 永川市| 梁平县| 鸡东县| 阳曲县| 周至县| 巴南区| 襄汾县| 沙坪坝区|