国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
物化視圖詳解

物化視圖詳解

     物化視圖是包括一個(gè)查詢結(jié)果的數(shù)據(jù)庫對(duì)象,它是遠(yuǎn)程數(shù)據(jù)的的本地副本,或者用來生成基于數(shù)據(jù)表求和的匯總表。物化視圖存儲(chǔ)基于遠(yuǎn)程表的數(shù)據(jù),也可以稱為快照。對(duì)于復(fù)制,物化視圖允許你在本地維護(hù)遠(yuǎn)程數(shù)據(jù)的副本,這些副本是只讀的。如果你想修改本地副本,必須用高級(jí)復(fù)制的功能。當(dāng)你想從一個(gè)表或視圖中抽取數(shù)據(jù)時(shí),你可以用從物化視圖中抽取。 對(duì)于數(shù)據(jù)倉庫,創(chuàng)建的物化視圖通常情況下是聚合視圖,單一表聚合視圖和連接視圖。物化視圖可以查詢表,視圖和其它的物化視圖。

一、            關(guān)于物化視圖日志:

查詢物化視圖日志文件格式:desc mlog$_lzwmvtest;

創(chuàng)建物化視圖時(shí)默認(rèn)指定物化視圖中存在主鍵,如果不指定,那么創(chuàng)建的物化視圖日志文件的基表必須存在主鍵,否則會(huì)報(bào)錯(cuò)

Demo:對(duì)一個(gè)表test

創(chuàng)建日志:creatematerialized view log on test;

那么會(huì)報(bào):'LZWMVTEST'不包含主鍵約束條件

這種情況下,就必須指定日志文件結(jié)構(gòu)

比如:creatematerialized view log on test with rowid(具體的針對(duì)日志內(nèi)容方面的在另外一個(gè)專題里說明,這里就簡(jiǎn)述到此)

二、            關(guān)于生成數(shù)據(jù)和刷新:

1>生成數(shù)據(jù)

兩大選項(xiàng):buildimmediate   build deferred

Build immediate:在創(chuàng)建物化視圖的同時(shí)根據(jù)主表生成數(shù)據(jù)

Bulid deferred:在創(chuàng)建物化視圖的同時(shí),在物化視圖內(nèi)不生成數(shù)據(jù),如果此時(shí)沒有生成數(shù)據(jù),以后可以采取:EXECDBMS_MVIEW.Refresh(‘MV_name’,’C’),注意必須使用全量刷新,默認(rèn)是增量刷新,所以這里參數(shù)必須是C,因?yàn)橹岸紱]有生成數(shù)據(jù),所以必須全量。

2>關(guān)于刷新

²        刷新方式:completefast force

Complete:完全刷新整個(gè)物化視圖,相當(dāng)于重新生成物化視圖,此時(shí)即時(shí)增量刷新可用也全量刷新

Ø         Fast:當(dāng)有數(shù)據(jù)更新時(shí)依照相應(yīng)的規(guī)則對(duì)物化視圖進(jìn)行更新(此時(shí)必須創(chuàng)建物化視圖日志(物化視圖日志記錄了數(shù)據(jù)更新的日志),關(guān)于日志的說明,參照“物化視圖日志文件介紹”)

Ø         Force:當(dāng)增量刷新可用則增量刷新,當(dāng)增量刷新不可用,則全量刷新(此項(xiàng)為默認(rèn)選項(xiàng))

不過從實(shí)際情況出發(fā),應(yīng)該盡量不使用默認(rèn)選項(xiàng),可以考慮使用增量刷新,對(duì)大表特別有效,大表全量更新速度是非常慢的,特別是在存在索引的情況下(在創(chuàng)建物化視圖語句中,可能某些限制查詢的條件,導(dǎo)致了增量刷新無法使用,這個(gè)是需要注意的,具體是哪類語句導(dǎo)致fast刷新不可用,有待總結(jié)…..

²        刷新時(shí)間:ondemand on commit start with/ next

On demand:在需要刷新時(shí)進(jìn)行刷新(人工判斷)

On commit:在基表上有提交操作時(shí),進(jìn)行更新

Start with:指定首次刷新的時(shí)間(一般指定的是當(dāng)前時(shí)間,不過也可以在創(chuàng)建物化視圖時(shí)不生成數(shù)據(jù),則可以考慮在指定的時(shí)間刷新,從而生成數(shù)據(jù))

Next:刷新的周期時(shí)間

三、            基于主鍵的物化視圖和ROWID的物化視圖的說明

創(chuàng)建物化視圖日志時(shí),指定了記錄更新的原則即with 后面的primary 或者rowid或者object id等等,后面,默認(rèn)是以primary key為記錄更新,在物化視圖內(nèi)也是以此為更新的原則。

例如:1、如果日志內(nèi)使用的是primary key 則在創(chuàng)建物化視圖時(shí)指定rowid來更新,則會(huì)報(bào)ORA-12032: 不能使用 "TEST" 上實(shí)體化視圖日志中的 rowid

2、如過日志內(nèi)使用的是rowid 則在創(chuàng)建物化視圖時(shí)指定primary或者默認(rèn)指定,則會(huì)報(bào)ORA-23415: "GIS"."LZWMV" 的實(shí)體化視圖日志不記錄主鍵

四、            關(guān)于物化視圖存放的的表空間

直接在創(chuàng)建物化視圖時(shí)指定日志存放的表空間和物化視圖的表空間。

例子:create materialized view MV_TESTtablespace test ----表空間名稱

五、            關(guān)于查詢重寫和更新

在創(chuàng)建查詢重寫時(shí),基表中必須有主鍵約束,視圖里是無法創(chuàng)建主鍵的,不過其繼承了基表的主鍵約束。(關(guān)于視圖的創(chuàng)建的一些技巧有待總結(jié)……)下面給個(gè)例子

Creatematerialized view MV_TEST

Refreshfast ----前提是必須創(chuàng)建基表日志,可以忽略該項(xiàng)

Enablequery rewrite ----前提是基表上必須存在主鍵約束

As

Select* from TEST; ----物化視圖數(shù)據(jù)生成

六、            關(guān)于創(chuàng)建物化視圖的例子:

1、 使用增量刷新的物化視圖的寫法

創(chuàng)建物化視圖日志,必須創(chuàng)建日志

Create materialized viewlog on TEST ----TEST為表名

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

----創(chuàng)建物化視圖語句:

Create materialized viewMV_TEST

----MVTEST為物化視圖名

Build immediate

----創(chuàng)建時(shí)生成數(shù)據(jù)對(duì)應(yīng)的是builddeferred

Refresh fast

----增量刷新

On commit

----在基表有更新時(shí)提交,這里該句對(duì)視圖無效

With rowid

----這里創(chuàng)建基于rowid的物化視圖,對(duì)應(yīng)的是 primary key

As

Select * from TEST;

----生成物化視圖數(shù)據(jù)語句

七、            小的知識(shí)點(diǎn)

創(chuàng)建主鍵約束語句:alter table table_name add(constraintconstraint_name primary key(columes));

建議使用job來定期刷新物化視圖
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
物化視圖復(fù)制概念和體系結(jié)構(gòu)——高級(jí)復(fù)制
oracle物化視圖詳解
Oracle 物化視圖 快速刷新 限制 說明
物化視圖的一般用法
數(shù)據(jù)庫經(jīng)典筆試題總結(jié)
Oracle實(shí)踐總結(jié)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服