2014-11-14 90 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之间有许多不同之处