日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
DB2物化視圖之MQT物化查詢(xún)表正確應(yīng)用

我們今天主要向大家描述的是DB2物化視圖之MQT物化查詢(xún)表的正確使用方案,使用 MQT物化查詢(xún)表(Materialized Query Tables, MQT)。我們大家都知道MQT 的定義基于查詢(xún)的結(jié)果。MQT 可以顯著提高查詢(xún)的性能。

成都創(chuàng)新互聯(lián)公司成立十多年來(lái),這條路我們正越走越好,積累了技術(shù)與客戶(hù)資源,形成了良好的口碑。為客戶(hù)提供成都網(wǎng)站制作、網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、域名申請(qǐng)、網(wǎng)絡(luò)營(yíng)銷(xiāo)、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。網(wǎng)站是否美觀(guān)、功能強(qiáng)大、用戶(hù)體驗(yàn)好、性?xún)r(jià)比高、打開(kāi)快等等,這些對(duì)于網(wǎng)站建設(shè)都非常重要,成都創(chuàng)新互聯(lián)公司通過(guò)對(duì)建站技術(shù)性的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究為客戶(hù)提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶(hù),共同發(fā)展進(jìn)步。

本教程將介紹 MQT、總結(jié)表(summary table)和 staging 表,并通過(guò)一些實(shí)用的例子展示如何創(chuàng)建和使用物化查詢(xún)表。

MQT 是基于查詢(xún)的結(jié)果定義的一個(gè)表。MQT 中包含的數(shù)據(jù)來(lái)自 MQT 定義所基于的一個(gè)或多個(gè)表??偨Y(jié)表(也稱(chēng)自動(dòng)總結(jié)表[AST])對(duì)于 IBM DB2 for Linux, UNIX, and Windows 的用戶(hù)來(lái)說(shuō)應(yīng)該感到比較熟悉,它們可以看作是特殊的 MQT。fullselect 是總結(jié)表定義的一部分,它包含一個(gè) GROUP BY 子句,該子句總結(jié) fullselect 中所引用表中的數(shù)據(jù)。

您可以將 MQT 看作一種物化的視圖。視圖和 MQT 都是基于一個(gè)查詢(xún)來(lái)定義的。每當(dāng)視圖被引用時(shí),視圖所基于的查詢(xún)便會(huì)運(yùn)行。但是,MQT 實(shí)際上會(huì)將查詢(xún)結(jié)果存儲(chǔ)為數(shù)據(jù),您可以使用 MQT 中的這些數(shù)據(jù),而不是使用底層表中的數(shù)據(jù)。

MQT 可以顯著提高查詢(xún)的性能,尤其是提高復(fù)雜查詢(xún)的性能。如果優(yōu)化器確定查詢(xún)或查詢(xún)的一部分可以用一個(gè) MQT 來(lái)解決,那么查詢(xún)就可以被重寫(xiě)以便利用 MQT。MQT 可以在創(chuàng)建表時(shí)定義,可以定義為由系統(tǒng)維護(hù),也可以定義為由用戶(hù)維護(hù)。

這種 MQT 中的數(shù)據(jù)是由系統(tǒng)維護(hù)的。當(dāng)創(chuàng)建這種類(lèi)型的 DB2物化視圖之MQT 時(shí),可以指定表數(shù)據(jù)是 REFRESH IMMEDIATE 還是 REFRESH DEFERRED。通過(guò) REFRESH 關(guān)鍵字可以指定如何維護(hù)數(shù)據(jù)。DEFERRED 的意思是,表中的數(shù)據(jù)可以在任何時(shí)候通過(guò) REFRESH TABLE 語(yǔ)句來(lái)刷新。

系統(tǒng)維護(hù)的 MQT,不管是 REFRESH DEFERRED 類(lèi)型的還是 REFRESH IMMEDIATE 類(lèi)型的,對(duì)它們的插入、更新或刪除操作都是不允許的。但是,對(duì)于 REFRESH IMMEDIATE 類(lèi)型的系統(tǒng)維護(hù)的 MQT,可以通過(guò) 對(duì)底層表的更改(即插入、更新或刪除操作)來(lái)更新。

下面的小節(jié)將展示一個(gè)創(chuàng)建 REFRESH IMMEDIATE 類(lèi)型的系統(tǒng)維護(hù)的 MQT 的例子。這個(gè)表名為 EMP,它基于 SAMPLE 數(shù)據(jù)庫(kù)中的底層表 EMPLOYEE 和 DEPARTMENT。由于 REFRESH IMMEDIATE MQT 要求來(lái)自查詢(xún)內(nèi)引用的每個(gè)表至少有一個(gè)惟一鍵要出現(xiàn)在 select 列表中。

所以我們首先在 EMPLOYEE 表的 EMPNO 列上定義一個(gè)惟一性約束,另外還要在 DEPARTMENT 表的 DEPTNO 列上定義一個(gè)惟一性約束。DATA INITIALLY DEFERRED 子句的意思是,在執(zhí)行 CREATE TABLE 語(yǔ)句的時(shí)候,并不將數(shù)據(jù)插入到表中。

MQT 被創(chuàng)建好之后,就會(huì)處于檢查暫掛(check pending)狀態(tài),在對(duì)它執(zhí)行 SET INTEGRITY 語(yǔ)句之前,不能查詢(xún)它。IMMEDIATE CHECKED 子句指定,必須根據(jù)用于定義該 MQT 的查詢(xún)對(duì)數(shù)據(jù)進(jìn)行檢查,并刷新數(shù)據(jù)。NOT INCREMENTAL 子句指定對(duì)整個(gè)表進(jìn)行完整性檢查。

 
 
 
  1. CONNECT TO SAMPLE  
  2. ...  
  3. ALTER TABLE EMPLOYEE ADD UNIQUE (EMPNO)  
  4. ALTER TABLE DEPARTMENT ADD UNIQUE (DEPTNO)  
  5. CREATE TABLE EMP AS (SELECT E.EMPNO, E.FIRSTNME, E.LASTNAME, E.PHONENO, D.DEPTNO,  
  6. SUBSTR(D.DEPTNAME, 1, 12) AS DEPARTMENT, D.MGRNO FROM EMPLOYEE E, DEPARTMENT D  
  7. WHERE E.WORKDEPT = D.DEPTNO)  
  8. DATA INITIALLY DEFERRED REFRESH IMMEDIATE  
  9. SET INTEGRITY FOR EMP IMMEDIATE CHECKED NOT INCREMENTAL   

 以上的相關(guān)內(nèi)容就是對(duì)DB2數(shù)據(jù)庫(kù)物化視圖:MQT物化查詢(xún)表的使用的介紹,望你能有所收獲。


網(wǎng)頁(yè)標(biāo)題:DB2物化視圖之MQT物化查詢(xún)表正確應(yīng)用
網(wǎng)頁(yè)路徑:http://www.5511xx.com/article/coshoed.html