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

物化視圖和普通視圖的區(qū)別

    物化視圖是一種特殊的物理表,“物化”(Materialized)視圖是相對普通視圖而言的。普通視圖是虛擬表,應(yīng)用的局限性大,任何對視圖的查詢,Oracle都實(shí)際上轉(zhuǎn)換為視圖SQL語句的查詢。這樣對整體查詢性能的提高,并沒有實(shí)質(zhì)上的好。

成都創(chuàng)新互聯(lián)公司長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為臨洮企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)臨洮網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

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

    1.物化視圖的類型:ON DEMAND、ON COMMIT 

    二者的區(qū)別在于刷新方法的不同,ON DEMAND顧名思義,僅在該物化視圖“需要”被刷新了,才進(jìn)行刷新(REFRESH),即更新物化視圖,以保證和基表數(shù)據(jù)的一致性;而ON COMMIT是說,一旦基表有了COMMIT,即事務(wù)提交,則立刻刷新,立刻更新物化視圖,使得數(shù)據(jù)和基表一致

    2、ON DEMAND物化視圖:物化視圖的創(chuàng)建本身是很復(fù)雜和需要優(yōu)化參數(shù)設(shè)置的,特別是針對大型生產(chǎn)數(shù)據(jù)庫系統(tǒng)而言。但Oracle允許以這種最簡單的,類似于普通視圖的方式來做,所以不可避免的會涉及到默認(rèn)值問題。也就是說Oracle給物化視圖的重要定義參數(shù)的默認(rèn)值處理是我們需要特別注意的。

    3.物化視圖的特點(diǎn):    

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

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

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

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

     默認(rèn)情況下,如果沒指定刷新方法和刷新模式,則Oracle默認(rèn)為FORCE和DEMAND。

    4.物化視圖的數(shù)據(jù)怎么隨著基表而更新?    

     Oracle提供了兩種方式,手工刷新和自動刷新,默認(rèn)為手工刷新。也就是說,通過我們手工的執(zhí)行某個Oracle提供的系統(tǒng)級存儲過程或包,來保證物化視圖與基表數(shù)據(jù)一致性。這是最基本的刷新辦法了。自動刷新,其實(shí)也就是Oracle會建立一個job,通過這個job來調(diào)用相同的存儲過程或包,加以實(shí)現(xiàn)。

    ON DEMAND物化視圖的特性及其和ON COMMIT物化視圖的區(qū)別,即前者不刷新(手工或自動)就不更新物化視圖,而后者不刷新也會更新物化視圖,——只要基表發(fā)生了COMMIT

    創(chuàng)建定時(shí)刷新的物化視圖:create materialized view mv_name refresh force on demand start with sysdate  next sysdate+1 (指定物化視圖每天刷新一次)

    上述創(chuàng)建的物化視圖每天刷新,但是沒有指定刷新時(shí)間,如果要指定刷新時(shí)間(比如每天晚上10:00定時(shí)刷新一次):create materialized view mv_name refresh force on demand start with sysdate next to_date( concat( to_char( sysdate+1,'dd-mm-yyyy'),' 22:00:00'),'dd-mm-yyyy hh34:mi:ss')

    5、ON COMMIT物化視圖    

       ON COMMIT物化視圖的創(chuàng)建,和上面創(chuàng)建ON DEMAND的物化視圖區(qū)別不大。因?yàn)镺N DEMAND是默認(rèn)的,所以O(shè)N COMMIT物化視圖,需要再增加個參數(shù)即可

       需要注意的是,實(shí)際創(chuàng)建過程中,基表需要有主鍵約束,否則會報(bào)錯(ORA-12014)

    6、物化視圖的刷新    

       刷新(Refresh):指當(dāng)基表發(fā)生了DML操作后,物化視圖何時(shí)采用哪種方式和基表進(jìn)行同步。

       刷新的模式有兩種:ON DEMAND和ON COMMIT。(如上所述) 刷新的方法有四種:FAST、COMPLETE、FORCE和NEVER。FAST刷新采用增量刷新,只刷新自上次刷新以后進(jìn)行的修改。COMPLETE刷新對整個物化視圖進(jìn)行完全的刷新。如果選擇FORCE方式,則Oracle在刷新時(shí)會去判斷是否可以進(jìn)行快速刷新,如果可以則采用FAST方式,否則采用COMPLETE的方式。NEVER指物化視圖不進(jìn)行任何刷新 

      對于已經(jīng)創(chuàng)建好的物化視圖,可以修改其刷新方式,比如把物化視圖mv_name的刷新方式修改為每天晚上10點(diǎn)刷新一次:alter materialized view mv_name refresh force on demand start with sysdate next to_date(concat(to_char(sysdate+1,'dd-mm-yyyy'),' 22:00:00'),'dd-mm-yyyy hh34:mi:ss')

    7、物化視圖具有表一樣的特征,所以可以像對表一樣,我們可以為它創(chuàng)建索引,創(chuàng)建方法和對表

    8、物化視圖的刪除:     

       雖然物化視圖是和表一起管理的,但是在經(jīng)常使用的PLSQL工具中,并不能用刪除表的方式來刪除(在表上右鍵選擇‘drop’并不能刪除物化視圖),可以使用語句來實(shí)現(xiàn):drop materialized view mv_name

網(wǎng)頁標(biāo)題:物化視圖和普通視圖的區(qū)別
分享鏈接:http://chinadenli.net/article18/ppcddp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站手機(jī)網(wǎng)站建設(shè)響應(yīng)式網(wǎng)站域名注冊網(wǎng)頁設(shè)計(jì)公司動態(tài)網(wǎng)站

廣告

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

成都網(wǎng)站建設(shè)公司