小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

CSDN技術(shù)中心 ORACLE中的物化視圖

 bez 2006-09-07
  ORACLE中的物化視圖     選擇自 lovexueer 的 Blog
關(guān)鍵字   物化視圖
出處   http://www./oracle/ora9i/mat_views.shtml

ORACLE中的物化視圖

 

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

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

       通常情況下,物化視圖被稱為主表(在復(fù)制期間)或明細(xì)表(在數(shù)據(jù)倉庫中)。

       對(duì)于復(fù)制,物化視圖允許你在本地維護(hù)遠(yuǎn)程數(shù)據(jù)的副本,這些副本是只讀的。如果你想修改本地副本,必須用高級(jí)復(fù)制的功能。當(dāng)你想從一個(gè)表或視圖中抽取數(shù)據(jù)時(shí),你可以用從物化視圖中抽取。

       對(duì)于數(shù)據(jù)倉庫,創(chuàng)建的物化視圖通常情況下是聚合視圖,單一表聚合視圖和連接視圖。

本篇我們將會(huì)看到怎樣創(chuàng)建物化視圖并且討論它的刷新選項(xiàng)。

       在復(fù)制環(huán)境下,創(chuàng)建的物化視圖通常情況下主鍵,rowid,和子查詢視圖。

1.主鍵物化視圖:

              下面的語法在遠(yuǎn)程數(shù)據(jù)庫表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物化視圖

              下面的語法在遠(yuǎn)程數(shù)據(jù)庫表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.子查詢物化視圖

              下面的語法在遠(yuǎn)程數(shù)據(jù)庫表emp上創(chuàng)建基于empdept表的子查詢物化視圖

            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 [fast|complete|force]
            [on demand | commit]
            [start with date] [next date]
            [with {primary key|rowid}]]
 

       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的物化視圖.

       主鍵物化視圖允許識(shí)別物化視圖主表而不影響物化視圖增量刷新的可用性。

       Rowid物化視圖只有一個(gè)單一的主表,不能包括下面任何一項(xiàng):

n         Distinct 或者聚合函數(shù).

n         Group by,子查詢,連接和SET操作

 

刷新時(shí)間      

       START WITH子句通知數(shù)據(jù)庫完成從主表到本地表第一次復(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í)生成,以后每兩天刷新一次.

 

總結(jié)

物化視圖提供了可伸縮的基于主鍵或ROWID的視圖,指定了刷新方法和自動(dòng)刷新的時(shí)間。

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多