2014-11-14 88 views
0

我檢查了我的表中的索引類型,發現所有索引都是REG類型(非集羣)。根據DB2文檔,如果未明確指定,DB2默認使用創建爲聚集索引的第一個索引。爲什麼DB2將所有索引顯示爲REGULAR? 「是否可以在DB2 V9.7上擁有沒有任何聚簇索引的表?

參考:http://www-01.ibm.com/support/knowledgecenter/SSEPEK_10.0.0/com.ibm.db2z10.doc.intro/src/tpc/db2z_clusteringindexes.dita 」當表具有聚簇索引時,INSERT語句會導致DB2儘可能按其索引值的順序插入記錄。在表上定義的第一個索引隱式提供爲例如,如果您首先在EMP表的EMPNO列上定義唯一索引,DB2會按照員工標識號的順序將行插入到EMP表中除非您明確定義另一個索引爲聚簇索引「

+2

您介意鏈接到您指的文檔嗎?據我所知,DB2從不默認創建集羣索引。 – mustaccio 2014-11-14 22:29:34

+0

鏈接 - http://www-01.ibm.com/support/knowledgecenter/SSEPEK_10.0.0/com.ibm.db2z10.doc.intro/src/tpc/db2z_clusteringindexes.dita – jayesh 2014-11-14 23:39:37

+1

爲什麼閱讀DB2 for z/OS當您使用DB2 for Linux/UNIX/Windows時的文檔? – 2014-11-15 02:35:14

回答

0

以下是我對您的問題的理解 - 您在IBM文檔網站上閱讀了

DB2默認使用的聚集索引創建的第一個指標,如果沒有明確指定

,你的問題是,你看到你的DB2 9.7 LUW數據庫,看到的只是REG索引。

@mustaccio是正確的。 DB2 LUW默認不會創建聚簇索引。

按照DB2 9.7 LUW文檔here,它說

集羣索引不能被指定爲與CREATE TABLE語句中使用的表定義 的一部分。相反,羣集索引是 ,只能通過執行CREATE INDEX語句並指定CLUSTER 選項創建。然後應該使用ALTER TABLE語句來添加 主鍵,該主鍵與創建到 表的聚簇索引相對應。此聚類索引將被用作表的主要 關鍵指數。

@Ian Bjorhovde也是正確的,您正在閱讀DB2 for z/OS文檔。 DB2 LUW和DB2 for z/OS之間有許多不同之處