DB2 V9.7 for Linux, UNIX, and Windows

分区表的索引

分区表可以具有非分区索引(存在于一个数据库分区中的单一表空间中)、可以具有本身在一个数据库分区中的一个或多个表空间之间进行分区的索引或者同时具有这两种索引。

对分区表执行滚入操作时(即,使用 ALTER TABLE 语句的 ATTACH PARTITION 子句将一个数据分区连接到另一个表),分区索引具有优势。借助分区索引,您可以避免必须对非分区索引执行的索引维护工作。如果分区表使用非分区索引,那么您必须使用 SET INTEGRITY 语句对新组合的数据分区执行索引维护。此操作不仅耗时,而且可能需要大量的日志空间,这取决于正在滚入的行数。

某些类型的索引不能进行分区: 您必须始终作为非分区索引来创建这些索引。另外,分区唯一索引的索引键必须包含表分区键中所有的列,而无论它们是由用户生成还是由系统生成。后者将是系统创建索引以便对数据强制实施唯一约束或主约束的情况。

从 DB2® V9.7 FP1 开始,可以对分区表创建基于 XML 数据的分区索引或者非分区索引。缺省情况下将创建分区索引。基于 XML 数据的唯一索引始终为非分区索引。