亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Oracle視圖的使用

系統(tǒng) 2855 0

1.視圖的概念

??? ? 視圖是基于一張表或多張表或另外一個(gè)視圖的邏輯表。視圖不同于表,視圖本身不包含任何數(shù)據(jù)。表是實(shí)際獨(dú)立存在的實(shí)體,是用于存儲數(shù)據(jù)的基本結(jié)構(gòu)。而視圖只是一種定義,對應(yīng)一個(gè)查詢語句。視圖的數(shù)據(jù)都來自于某些表,這些表被稱為基表。通過視圖來查看表,就像是從不同的角度來觀察一個(gè) ( 或多個(gè) ) 表。視圖可以在表能夠使用的任何地方使用,但在對視圖的操作上同表相比有些限制,特別是插入和修改操作。對視圖的操作將傳遞到基表,所以在表上定義的約束條件和觸發(fā)器在視圖上同樣起作用。

2.視圖的優(yōu)點(diǎn):

*?? ? 可以提高數(shù)據(jù)訪問的安全性,通過視圖往往只可以訪問數(shù)據(jù)庫中表的特定部分,限制了用戶訪問表的全部行和列。

*?? ? 簡化了對數(shù)據(jù)的查詢,隱藏了查詢的復(fù)雜性。視圖的數(shù)據(jù)來自一個(gè)復(fù)雜的查詢,用戶對視圖的檢索卻很簡單。

*?? ? 一個(gè)視圖可以檢索多張表的數(shù)據(jù),因此用戶通過訪問一個(gè)視 圖,可完成對多個(gè)表的訪問。

*?? ? 視圖是相同數(shù)據(jù)的不同表示,通過為不同的用戶創(chuàng)建同一個(gè)表的不同視圖,使用戶可分別訪問同一個(gè)表的不同部分。

????? ?

3.創(chuàng)建視圖

創(chuàng)建視圖需要 CREAE VIEW 系統(tǒng)權(quán)限,視圖的創(chuàng)建語法如下:

CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW 視圖名 [( 別名 1[ ,別名 2...])]

AS ? 子查詢

[WITH CHECK OPTION [CONSTRAINT? 約束名 ]]

[WITH READ ONLY]

其中:

OR REPLACE ? 表示替代已經(jīng)存在的視圖。

FORCE 表示不管基表是否存在,創(chuàng)建視圖。

NOFORCE 表示只有基表存在時(shí),才創(chuàng)建視圖,是默認(rèn)值。

USER_VIEWS 字典中包含了視圖的定義。

Oracle視圖的使用

?

4. 物化視圖

????? 物化視圖是一種特殊的物理表,“物化” (Materialized) 視圖是相對普通視圖而言的。普通視圖是虛擬表,應(yīng)用的局限性大,任何對視圖的查詢, Oracle 都實(shí)際上轉(zhuǎn)換為視圖 SQL 語句的查詢。這樣對整體查詢性能的提高,并沒有實(shí)質(zhì)上的好處。
???? ? 物化視圖的類型 ON DEMAND ON COMMIT 。二者的區(qū)別在于刷新方法的不同, ON DEMAND 顧名思義,僅在該物化視圖“需要”被刷新了,才進(jìn)行刷新 (REFRESH) ,即更新物化視圖,以保證和基表數(shù)據(jù)的一致性;而 ON COMMIT 是說,一旦基表有了 COMMIT ,即事務(wù)提交,則立刻刷新,立刻更新物化視圖,使得數(shù)據(jù)和基表一致。
物化視圖可以分為以下三種類型:包含聚集的物化視圖;只包含連接的物化視圖;嵌套物化視圖。三種物化視圖的快速刷新的限制條件有很大區(qū)別,而對于其他方面則區(qū)別不大。

?

??? ? 創(chuàng)建物化視圖時(shí)可以指定多種選項(xiàng)
???* ? 創(chuàng)建方式( Build Methods ):包括 BUILD IMMEDIATE BUILD DEFERRED 兩種。 BUILD IMMEDIATE 是在創(chuàng)建物化視圖的時(shí)候就生成數(shù)據(jù),而 BUILD DEFERRED 則在創(chuàng)建時(shí)不生成數(shù)據(jù),以后根據(jù)需要在生成數(shù)據(jù)。默認(rèn)為 BUILD IMMEDIATE
???? * 查詢重寫 (Query Rewrite) :包括 ENABLE QUERY REWRITE DISABLE QUERY REWRITE 兩種。分別指出創(chuàng)建的物化視圖是否支持查詢重寫。查詢重寫是指當(dāng)對物化視圖的基表進(jìn)行查詢時(shí), Oracle 會(huì)自動(dòng)判斷能否通過查詢物化視圖來得到結(jié)果,如果可以,則避免了聚集或連接操作,而直接從已經(jīng)計(jì)算好的物化視圖中讀取數(shù)據(jù)。默認(rèn)為 DISABLE QUERY REWRITE
???? * 在建立物化視圖的時(shí)候可以指定 ORDER BY 語句,使生成的數(shù)據(jù)按照一定的順序進(jìn)行保存。不過這個(gè)語句不會(huì)寫入物化視圖的定義中,而且對以后的刷新也無效。

???? ? *創(chuàng)建自動(dòng)更新的物化視圖

CREATE MATERIALIZED VIEW T_TEST_MV

REFRESH FAST ON DEMAND WITH ROWID

START WITH SYSDATE NEXT SYSDATE + 30/86400

AS

SELECT * FROM t_test;

這樣,T_TEST_MV會(huì)有一個(gè)job自動(dòng)更新,時(shí)間間隔為30秒。

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

?

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

*普通視圖不存放數(shù)據(jù),物化視圖存放數(shù)據(jù)

* 在使用視圖進(jìn)行查詢時(shí),是通過 View 中的 SQL 查詢原表的數(shù)據(jù),不能提高查詢性能。在通過物化視圖進(jìn)行查詢時(shí),直接讀取物化視圖的數(shù)據(jù),提高查詢性能。

*? 對普通視圖應(yīng)用更新、刪除操作會(huì)影響原表的數(shù)據(jù)。只讀物化視圖不能進(jìn)行 DML 操作。可更新物化視圖可進(jìn)行 DML 操作,并且在刷新時(shí)操作會(huì)被推送回原表。可寫物化視圖可進(jìn)行 DML 操作,但刷新后所有修改操作在刷新后全部丟失

Oracle視圖的使用


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美亚洲网| 国产亚洲精品自在久久不卡 | 久久国产精品视频 | 国产91在线九色 | 亚洲精品国产乱码在线播 | 久草这里只有精品 | 日本黄 色 成 年 人免费观看 | 国产一区二区中文字幕 | 日本sese| 在线免费黄色网址 | 久久久久久久久久福利 | 逆天至尊免费看229集 | 国产成人禁片免费观看 | 天天舔天天舔 | 久久综合视频网站 | 精品视频一区在线观看 | 国内外一级毛片 | 综合久 | 妇女bbw奶水bbw | 亚洲va在线va天堂va手机 | 曰本一区 | 天天操人人爱 | 四虎影院永久地址 | 四虎影永久在线观看网址 | 免费无毒片在线观看 | 欧美成人亚洲欧美成人 | 色综合久久网 | 国内精品久久久久久久久久久久 | 一区二区三区视频网站 | 国产精品久久久久久久成人午夜 | 一本久道久久综合狠狠爱 | 日韩伦理在线视频 | 亚洲国产天堂在线网址 | 欧美一区欧美二区 | a一级黄色片 | a级毛片毛片免费观看久潮 a级毛片免费 | 99久久免费国产精品m9 | 亚洲女人毛片 | 综合色网站| 九九久久久久午夜精选 | 中文字幕精品一区二区三区在线 |