欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Oracle物化視圖的創(chuàng)建及使用(一)

Oracle物化視圖的創(chuàng)建及使用
http://blog.csdn.net/tegwy/article/details/8935058

先看簡單創(chuàng)建語句:

10年積累的網(wǎng)站設(shè)計(jì)、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有寧陜免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

create   materialized   view  mv_materialized_test  refresh   force   on   demand   start   with   sysdate   next

to_date( concat (to_char(  sysdate + 1 , 'dd-mm-yyyy' ), '10:25:00' ), 'dd-mm-yyyy hh34:mi:ss' as

select  *  from  user_info;  --這個物化視圖在每天10:25進(jìn)行刷新

 

物化視圖也是種視圖。 Oracle的物化視圖是包括一個查詢結(jié)果的數(shù)據(jù)庫對像,它是遠(yuǎn)程數(shù)據(jù)的的本地副本,或者用來生成基于數(shù)據(jù)表求和的匯總表。物化視圖存儲基于遠(yuǎn)程表的數(shù)據(jù),也可以稱為快照。

物化視圖可以查詢表,視圖和其它的物化視圖。

 

特點(diǎn):

(1) 物化視圖在某種意義上說就是一個 物理表 (而且不僅僅是一個物理表),這通過其可以被user_tables查詢出來,而得到確認(rèn);

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

(3) 物化視圖會占用數(shù)據(jù)庫磁盤空間,這點(diǎn)從user_segment的查詢結(jié)果,可以得到佐證;

創(chuàng)建語句:create materialized view mv_name as select * from table_name

因?yàn)槲锘晥D由于是物理真實(shí)存在的,故可以創(chuàng)建索引。

 

創(chuàng)建時生成數(shù)據(jù):

分為兩種: build immediate build deferred

build immediate是在 創(chuàng)建物化視圖的時候就生成數(shù)據(jù) 。

build deferred 則在創(chuàng)建時不生成數(shù)據(jù),以后根據(jù)需要在生成數(shù)據(jù) 。

如果不指定,則默認(rèn)為 build immediate

 

刷新模式:

物化視圖有二種刷新模式:

在創(chuàng)建時refresh mode是 on demand 還是 on commit

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

on commit  提交觸發(fā),一旦基表有了commit,即事務(wù)提交,則立刻刷新,立刻更新物化視圖,使得數(shù)據(jù)和基表一致。一般用這種方法在操作基表時速度會比較慢。

創(chuàng)建物化視圖時未作指定,則Oracle按 on demand 模式來創(chuàng)建。

 

上面說的是 刷新模式 ,針對于如何刷新,則有如下三種 刷新方法 :

 

完全刷新(COMPLETE): 會刪除表中所有的記錄(如果是單表刷新,可能會采用TRUNCATE的方式),然后根據(jù)物化視圖中查詢語句的定義重新生成物化視圖。

快速刷新(FAST): 采用增量刷新的機(jī)制,只將自上次刷新以后對基表進(jìn)行的所有操作刷新到物化視圖中去。FAST必須創(chuàng)建基于主表的視圖日志。對于增量刷新選項(xiàng),如果在子查詢中存在分析函數(shù),則物化視圖不起作用。

FORCE方式: 這是默認(rèn)的數(shù)據(jù)刷新方式。Oracle會自動判斷是否滿足快速刷新的條件,如果滿足則進(jìn)行快速刷新,否則進(jìn)行完全刷新。

 

關(guān)于快速刷新: Oracle物化視圖的 快速刷新 機(jī)制是通過 物化視圖日志 完成的。 Oracle通過一個物化視圖日志還可以支持多個物化視圖的快速刷新 。 物化視圖日志根據(jù)不同物化視圖的快速刷新的需要,可以建立為ROWID或PRIMARY KEY類型的 。還可以選擇是否包括SEQUENCE、INCLUDING NEW VALUES以及指定列的列表。

 

查詢重寫(QueryRewrite):

包括 enable query rewrite disable query rewrite 兩種。

分別指出創(chuàng)建的物化視圖是否支持查詢重寫。 查詢重寫是指當(dāng)對物化視圖的基表進(jìn)行查詢時 , oracle會自動判斷能否通過查詢物化視圖來得到結(jié)果,如果可以,則避免了聚集或連接操作,而直接從已經(jīng)計(jì)算好的物化視圖中讀取數(shù)據(jù)。

默認(rèn)為 disable query rewrite

 

語法:

create  materialized  view   view_name
refresh  [ fast|complete|force ]
[
on [commit|demand ]   |
start  with  (start_time)  next  (next_time)

]

AS subquery;

 

具體操作

 創(chuàng)建物化視圖需要的權(quán)限:

grant   create   materialized   view   to  user_name; 

 

在源表建立 物化視圖日志 :

create   materialized   view   log   on  test_table  

tablespace  test_space  -- 日志空間  

with   primary   key ;      -- 指定為主鍵類型

 

在目標(biāo)數(shù)據(jù)庫上創(chuàng)建MATERIALIZED VIEW:

create   materialized   view  mv_materialized_test  refresh   force   on   demand   start   with   sysdate   next

to_date( concat (to_char( sysdate + 1 , 'dd-mm-yyyy' ), '10:25:00' ), 'dd-mm-yyyy hh34:mi:ss' as

select  *  from  user_info;  --這個物化視圖在每天10:25進(jìn)行刷新 

 

修改刷新時間:

alter   materialized   view  mv_materialized_test  refresh   force   on   demand   start   with   sysdate  

next  to_date( concat (to_char( sysdate + 1 , 'dd-mm-yyyy' ), ' 23:00:00' ), 'dd-mm-yyyy hh34:mi:ss' );

alter   materialized   view  mv_materialized_test  refresh   force   on   demand   start   with   sysdate  

next   trunc ( sysdate , 'dd' )+ 1 + 1 / 24 -- 每天1點(diǎn)刷新 

建立索引:

create   index  IDX_MMT_IU_TEST

on  mv_materialized_test( ID ,UNAME)  

tablespace  test_space; 

刪除物化視圖及日志:

drop   materialized   view   log   on  test_table;     --刪除物化視圖日志: 

drop   materialized   view  mv_materialized_test;  --刪除物化視圖  

分享標(biāo)題:Oracle物化視圖的創(chuàng)建及使用(一)
標(biāo)題URL:http://chinadenli.net/article22/gieocc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)網(wǎng)頁設(shè)計(jì)公司響應(yīng)式網(wǎng)站面包屑導(dǎo)航企業(yè)建站搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司