分区表的非分区索引
非分区索引是单一的索引对象,它引用分区表中所有的行。 非分区索引始终作为单一表空间中的独立索引对象进行创建,即使表数据分区跨多个表空间亦如此。
当您为分区表创建索引时,该索引在缺省情况下为分区索引,除非您创建下列其中一种类型的索引:图 1。 分区表的非分区索引
- 索引键未包含所有表分区列的唯一索引
- 空间索引

图 2 显示了两个非分区索引的示例。 在本例中,每个索引分区与数据分区在不同的表空间中。 请再次注意每个索引引用表中所有分区的方式。图 2。 分区表的非分区索引(索引在它们自己的表空间中)

在下列时候,您可以更改非分区索引的位置:
- 在创建表时,使用 CREATE TABLE 语句的 INDEX IN 子句进行更改
- 在创建索引时,使用 CREATE INDEX 语句的 IN 子句进行更改
如果使用 ALTER TABLE 语句的 ATTACH PARTITION 子句将数据滚动到分区表,那么必须运行 SET INTEGRITY 语句以使相连分区的数据进入联机状态以供查询。 如果索引是非分区索引,那么使相连分区的数据进入联机状态这一操作可能相当耗时,此操作将使用相当多的日志空间,这是因为 SET INTEGRITY 必须将新连接的分区中的数据插入到非分区索引中。
在拆离分区之后,不必运行 SET INTEGRITY。