久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

ORACLE中的物化視圖

瀏覽:5日期:2023-11-18 16:35:48
Oracle中的物化視圖 物化視圖是包括一個(gè)查詢結(jié)果的數(shù)據(jù)庫(kù)對(duì)像,它是遠(yuǎn)程數(shù)據(jù)的的本地副本,或者用來生成基于數(shù)據(jù)表求和的匯總表。物化視圖存儲(chǔ)基于遠(yuǎn)程表的數(shù)據(jù),也可以稱為快照。 ;;;;物化視圖可以查詢表,視圖和其它的物化視圖。 通常情況下,物化視圖被稱為主表(在復(fù)制期間)或明細(xì)表(在數(shù)據(jù)倉(cāng)庫(kù)中)。 對(duì)于復(fù)制,物化視圖答應(yīng)你在本地維護(hù)遠(yuǎn)程數(shù)據(jù)的副本,這些副本是只讀的。假如你想修改本地副本,必須用高級(jí)復(fù)制的功能。當(dāng)你想從一個(gè)表或視圖中抽取數(shù)據(jù)時(shí),你可以用從物化視圖中抽取。 對(duì)于數(shù)據(jù)倉(cāng)庫(kù),創(chuàng)建的物化視圖通常情況下是聚合視圖,單一表聚合視圖和連接視圖。本篇我們將會(huì)看到怎樣創(chuàng)建物化視圖并且討論它的刷新選項(xiàng)。 在復(fù)制環(huán)境下,創(chuàng)建的物化視圖通常情況下主鍵,rowid,和子查詢視圖。1.主鍵物化視圖: ;;;;下面的語(yǔ)法在遠(yuǎn)程數(shù)據(jù)庫(kù)表emp上創(chuàng)建主鍵物化視圖 SQL> CREATE MATERIALIZED VIEW mv_emp_pk ; REFRESH FAST START WITH SYSDATE NEXT; SYSDATE + 1/48 WITH PRIMARY KEY AS SELECT * FROM emp@remote_db; Materialized view created. ;;;;注重:當(dāng)用FAST選項(xiàng)創(chuàng)建物化視圖,必須創(chuàng)建基于主表的視圖日志,如下: SQL> CREATE MATERIALIZED VIEW LOG ON emp; Materialized view log created.2.Rowid物化視圖 ;;;;下面的語(yǔ)法在遠(yuǎn)程數(shù)據(jù)庫(kù)表emp上創(chuàng)建Rowid物化視圖 SQL> CREATE MATERIALIZED VIEW mv_emp_rowid REFRESH WITH ROWID AS SELECT * FROM emp@remote_db; Materialized view log created.3.子查詢物化視圖 ;;;;下面的語(yǔ)法在遠(yuǎn)程數(shù)據(jù)庫(kù)表emp上創(chuàng)建基于emp和dept表的子查詢物化視圖 SQL> CREATE MATERIALIZED VIEW; mv_empdept AS SELECT * FROM emp@remote_db e WHERE EXISTS ;;;;;(SELECT * FROM dept@remote_db d ;WHERE e.dept_no = d.dept_no) Materialized view log created. REFRESH 子句 [refresh [fastcompleteforce] [on demand commit] [start with date] [next date] [with {primary keyrowid}]] Refresh選項(xiàng)說明:a.;;;oracle用刷新方法在物化視圖中刷新數(shù)據(jù).b.;;;是基于主鍵還是基于rowid的物化視圖c.;;;;物化視圖的刷新時(shí)間和間隔刷新時(shí)間Refresh方法-FAST子句 增量刷新用物化視圖日志(參照上面所述)來發(fā)送主表已經(jīng)修改的數(shù)據(jù)行到物化視圖中.假如指定REFRESH FAST子句,那么應(yīng)該對(duì)主表創(chuàng)建物化視圖日志 SQL> CREATE MATERIALIZED VIEW LOG ON emp;Materialized view log created. 對(duì)于增量刷新選項(xiàng),假如在子查詢中存在分析函數(shù),則物化視圖不起作用。 Refresh方法- COMPLETE子句 完全刷新重新生成整個(gè)視圖,假如請(qǐng)求完全刷新,oracle會(huì)完成;;;;完全刷新即使增量刷新可用。Refresh Method – FORCE 子句 當(dāng)指定FORCE子句,假如增量刷新可用Oracle將完成增量刷新,否則將完成完全刷新,假如不指定刷新方法(FAST, COMPLETE, or FORCE),Force選項(xiàng)是默認(rèn)選項(xiàng)主鍵和ROWD子句 WITH PRIMARY KEY選項(xiàng)生成主鍵物化視圖,也就是說物化視圖是基于主表的主鍵,而不是ROWID(對(duì)應(yīng)于ROWID子句). PRIMARY KEY是默認(rèn)選項(xiàng),為了生成PRIMARY KEY子句,應(yīng)該在主表上定義主鍵,否則應(yīng)該用基于ROWID的物化視圖. 主鍵物化視圖答應(yīng)識(shí)別物化視圖主表而不影響物化視圖增量刷新的可用性。 Rowid物化視圖只有一個(gè)單一的主表,不能包括下面任何一項(xiàng):n Distinct 或者聚合函數(shù).n Group by,子查詢,連接和SET操作刷新時(shí)間;;;; START WITH子句通知數(shù)據(jù)庫(kù)完成從主表到本地表第一次復(fù)制的時(shí)間,應(yīng)該及時(shí)估計(jì)下一次運(yùn)行的時(shí)間點(diǎn), NEXT 子句說明了刷新的間隔時(shí)間. SQL> CREATE MATERIALIZED VIEW mv_emp_pk ; REFRESH FAST START WITH SYSDATE NEXT; SYSDATE + 2 WITH PRIMARY KEY AS SELECT * FROM emp@remote_db; Materialized view created.在上面的例子中,物化視圖數(shù)據(jù)的第一個(gè)副本在創(chuàng)建時(shí)生成,以后每?jī)商焖⑿乱淮?總結(jié)物化視圖提供了可伸縮的基于主鍵或ROWID的視圖,指定了刷新方法和自動(dòng)刷新的時(shí)間。
主站蜘蛛池模板: 阳江市| 东安县| 海口市| 玉门市| 华坪县| 福安市| 罗平县| 青浦区| 祁阳县| 东阳市| 龙南县| 晋中市| 白河县| 河源市| 衡水市| 哈巴河县| 祁连县| 清丰县| 凉城县| 资中县| 桐城市| 田阳县| 根河市| 宜都市| 库伦旗| 奉化市| 阳东县| 堆龙德庆县| 平塘县| 东丰县| 广丰县| 贺州市| 永州市| 鹤峰县| 荆门市| 盖州市| 仙居县| 朔州市| 兴隆县| 宽城| 丰台区|