国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

DB2數(shù)據(jù)庫(kù)物化視圖:MQT物化查詢表的使用

瀏覽:47日期:2023-11-08 11:43:32

使用 MQT物化查詢表(Materialized Query Tables, MQT)

MQT 的定義基于查詢的結(jié)果。MQT 可以顯著提高查詢的性能。本教程將介紹 MQT、總結(jié)表(summary table)和 staging 表,并通過(guò)一些實(shí)用的例子展示如何創(chuàng)建和使用物化查詢表。

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

您可以將 MQT 看作一種物化的視圖。視圖和 MQT 都是基于一個(gè)查詢來(lái)定義的。每當(dāng)視圖被引用時(shí),視圖所基于的查詢便會(huì)運(yùn)行。但是,MQT 實(shí)際上會(huì)將查詢結(jié)果存儲(chǔ)為數(shù)據(jù),您可以使用 MQT 中的這些數(shù)據(jù),而不是使用底層表中的數(shù)據(jù)。MQT 可以顯著提高查詢的性能,尤其是提高復(fù)雜查詢的性能。如果優(yōu)化器確定查詢或查詢的一部分可以用一個(gè) MQT 來(lái)解決,那么查詢就可以被重寫(xiě)以便利用 MQT。MQT 可以在創(chuàng)建表時(shí)定義,可以定義為由系統(tǒng)維護(hù),也可以定義為由用戶維護(hù)。

這種 MQT 中的數(shù)據(jù)是由系統(tǒng)維護(hù)的。當(dāng)創(chuàng)建這種類(lèi)型的 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)自查詢內(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ǔ)句之前,不能查詢它。IMMEDIATE CHECKED 子句指定,必須根據(jù)用于定義該 MQT 的查詢對(duì)數(shù)據(jù)進(jìn)行檢查,并刷新數(shù)據(jù)。NOT INCREMENTAL 子句指定對(duì)整個(gè)表進(jìn)行完整性檢查。

CONNECT TO SAMPLE

...

ALTER TABLE EMPLOYEE ADD UNIQUE (EMPNO)

ALTER TABLE DEPARTMENT ADD UNIQUE (DEPTNO)

CREATE TABLE EMP AS (SELECT E.EMPNO, E.FIRSTNME, E.LASTNAME, E.PHONENO, D.DEPTNO,

SUBSTR(D.DEPTNAME, 1, 12) AS DEPARTMENT, D.MGRNO FROM EMPLOYEE E, DEPARTMENT D

WHERE E.WORKDEPT = D.DEPTNO)

DATA INITIALLY DEFERRED REFRESH IMMEDIATE

SET INTEGRITY FOR EMP IMMEDIATE CHECKED NOT INCREMENTAL

標(biāo)簽: DB2 數(shù)據(jù)庫(kù)
主站蜘蛛池模板: 国产激情一区二区三区四区 | 456主播喷水在线观看 | 久久久久久久国产高清 | 国产精品揄拍一区二区久久 | 久久久精品一区二区三区 | 国产精品国产三级国产专 | 日本视频在线免费播放 | 一级一片免费看 | 亚洲一级高清在线中文字幕 | 欧美aaa| 国产精品视_精品国产免费 国产精品视频久 | 91香蕉国产在线观看免费永久 | 欧美成人精品福利在线视频 | 色老头一区二区三区在线观看 | 亚洲精品98久久久久久中文字幕 | 韩国porno xxxx| 夜色邦合成福利网站 | 欧美极品在线播放 | 在线99| 青青久草 | 老司机免费福利午夜入口ae58 | 亚洲欧美在线综合一区二区三区 | 免费一区二区 | 欧美在线播放视频 | 亚洲国产激情一区二区三区 | 在线播放性xxx欧美 在线播放亚洲视频 | 女人张开腿让男人桶免费网站 | 亚洲国产第一区二区三区 | 99精品99| 久久亚洲精品一区成人 | 极品欧美 | 欧美一级毛片欧美大尺度一级毛片 | 92午夜国产福利视频1000 | 一区二区三区免费视频观看 | 草草在线观看视频 | 免费看一级视频 | 亚洲夜色 | 国产一区精品在线 | 色综合天天综合网看在线影院 | 欧美成 人h版在线观看 | 欧美一级毛片欧美一级成人毛片 |