自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

DB2 物化查詢表以及其他常用表的介紹

數(shù)據(jù)庫
以下的文章主要是介紹是DB2 物化查詢表,你如果對DB2 物化查詢表有興趣的話,以下的文章將會揭開它的神秘面紗。希望你在瀏覽完之后會有所收獲。

文章主要描述的是DB2 物化查詢表,同時也有對MQT、總結(jié)表(summary)和staging表的介紹,我們?yōu)榱烁玫膶ζ溥M行解說,我們是以一些實用的例子展示如何創(chuàng)建和使用物化查詢表。 物化查詢表(MQT)的定義是以一次查詢的結(jié)果為基礎(chǔ)的。

MQT 可以顯著提高查詢的性能。本文將介紹 MQT、總結(jié)表(summary)和 staging 表,并通過一些實用的例子展示如何創(chuàng)建和使用物化查詢表。

 

物化查詢表(MQT)是一種以一次查詢的結(jié)果為基礎(chǔ)定義的表。包含在物化查詢表中的數(shù)據(jù)來自定義物化查詢表時所基于的一個或多個表。而 總結(jié)表(也稱自動總結(jié)表,AST)對于 IBM® DB2® Universal Database™(UDB)for Linux、 UNIX® 和 Windows®(DB2 UDB)的用戶來說應(yīng)該感到比較熟悉,它們可以看作是特殊的 MQT。fullselect 是總結(jié)表定義的一部分,它包含一個 GROUP BY 子句,該子句總結(jié) fullselect 中所引用表中的數(shù)據(jù)。

您可以將 MQT 看作一種物化的視圖。視圖和 MQT 都是基于一個查詢來定義的。每當(dāng)視圖被引用時,視圖所基于的查詢便會運行。但是,MQT 實際上則是將查詢結(jié)果保存為數(shù)據(jù),您可以使用 MQT 中的這些數(shù)據(jù),而不是使用底層表中的數(shù)據(jù)。

物化查詢表可以顯著提高查詢的性能,尤其是提高復(fù)雜查詢的性能。如果優(yōu)化器確定查詢或查詢的一部分可以用一個 MQT 來解決,那么就會重寫查詢,以便利用 MQT。

MQT 可以在創(chuàng)建表時定義,或者定義為系統(tǒng)維護的 MQT,或者定義為用戶維護的 MQT。下面的幾個小節(jié)將介紹這兩種類型的 MQT,另外再介紹總結(jié)表和 staging 表。后面的例子要求連接到 SAMPLE 數(shù)據(jù)庫。如果您系統(tǒng)上還沒有創(chuàng)建 SAMPLE 數(shù)據(jù)庫,那么可以通過在命令行提示符下輸入 db2sampl 命令來創(chuàng)建這個數(shù)據(jù)庫。

系統(tǒng)維護的 MQT

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

不管是 REFRESH DEFERRED 還是 REFRESH IMMEDIATE 類型的系統(tǒng)維護的 MQT,對它們的 insert、update 或 delete 操作都是不允許的。但是,對于 REFRESH IMMEDIATE 類型的系統(tǒng)維護的 MQT,可以通過 對底層表的更改(即 insert、update 或 delete 操作)來更新。

清單 1 展示了一個創(chuàng)建 REFRESH IMMEDIATE 類型的系統(tǒng)維護的 MQT 的例子。這個表名為 EMP,它基于 SAMPLE 數(shù)據(jù)庫中的底層表 EMPLOYEE 和 DEPARTMENT。由于 REFRESH IMMEDIATE MQT 要求查詢的 select 列表中引用的每個表中至少有一個惟一鍵,所以我們首先在 EMPLOYEE 表的 EMPNO 列上定義一個惟一性約束,另外還在 DEPARTMENT 表的 DEPTNO 列上定義一個惟一性約束。

DATA INITIALLY DEFERRED 子句的意思是,在執(zhí)行 CREATE TABLE 語句的時候,并不將數(shù)據(jù)插入到表中。MQT 被創(chuàng)建好之后,就處于檢查暫掛(check pending)狀態(tài)(請參閱 DB2 基礎(chǔ): 闡明表和表空間的狀態(tài)),在對它執(zhí)行 SET INTEGRITY 語句之前,不能查詢它。IMMEDIATE CHECKED 子句規(guī)定,根據(jù)用于定義該 MQT 的查詢對數(shù)據(jù)進行檢查,并刷新數(shù)據(jù)。

NOT INCREMENTAL 子句規(guī)定對整個表進行完整性檢查。通過查詢 EMP 物化查詢表發(fā)現(xiàn),它現(xiàn)在已經(jīng)填入了數(shù)據(jù)。

清單 1. 創(chuàng)建由系統(tǒng)維護的 MQT

  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   
  10. select * from emp   
  11. EMPNO FIRSTNME LASTNAME PHONENO DEPTNO DEPARTMENT MGRNO   
  12. ------ ------------ --------------- ------- ------ ------------ ------   
  13. 000010 CHRISTINE HAAS 3978 A00 SPIFFY COMPU 000010   
  14. 000020 MICHAEL THOMPSON 3476 B01 PLANNING 000020   
  15. 000030 SALLY KWAN 4738 C01 INFORMATION 000030   
  16. 000050 JOHN GEYER 6789 E01 SUPPORT SERV 000050   
  17. 000060 IRVING STERN 6423 D11 MANUFACTURIN 000060   
  18. 000070 EVA PULASKI 7831 D21 ADMINISTRATI 000070   
  19. 000090 EILEEN HENDERSON 5498 E11 OPERATIONS 000090   
  20. 000100 THEODORE SPENSER 0972 E21 SOFTWARE SUP 000100   
  21. 000110 VINCENZO LUCCHESSI 3490 A00 SPIFFY COMPU 000010   
  22. 000120 SEAN O'CONNELL 2167 A00 SPIFFY COMPU 000010   
  23. 000130 DOLORES QUINTANA 4578 C01 INFORMATION 000030   
  24. ...   
  25. 000340 JASON GOUNOT 5698 E21 SOFTWARE SUP 000100   
  26. 32 record(s) selected.   
  27. connect reset  

以上的相關(guān)內(nèi)容就是對DB2 物化查詢表的介紹,望你能有所收獲。

【編輯推薦】

  1. 輕松掌握DB2命令執(zhí)行的實際操作方式
  2. Orac數(shù)據(jù)庫到DB2移植的正確破解方案
  3. IBM DB2數(shù)據(jù)復(fù)制以及遷移,以實例講述
  4. 對IBM DB2商業(yè)智能軟件的描述
  5. DB2 數(shù)據(jù)庫表鎖的模式的描述
責(zé)任編輯:佚名 來源: hi.baidu.com
相關(guān)推薦

2010-07-30 17:46:46

DB2物化視圖

2010-08-02 13:25:23

DB2物化視圖

2010-11-02 11:02:48

DB2物化查詢表

2010-08-20 13:33:50

DB2物化視圖

2010-07-27 14:26:08

DB2數(shù)據(jù)庫物化視圖

2010-08-19 17:17:08

DB2數(shù)據(jù)庫

2010-08-13 10:29:35

DB2數(shù)據(jù)庫

2010-08-10 09:44:02

DB2MQT物化查詢表

2010-11-03 15:49:32

DB2刪除表

2010-09-30 14:48:26

DB2查詢

2010-11-01 12:11:43

DB2表空間

2010-11-01 11:13:57

DB2表管理

2010-08-06 08:43:02

DB2常用命令

2010-11-01 16:07:22

DB2表空間

2010-11-03 15:56:13

DB2創(chuàng)建表

2010-11-02 14:45:12

DB2創(chuàng)建表空間

2010-11-01 16:38:13

DB2表空間

2010-11-01 16:44:43

DB2表空間

2010-09-01 11:39:17

DB2聚集目標(biāo)表

2010-11-03 11:26:39

DB2表空間
點贊
收藏

51CTO技術(shù)棧公眾號