用与对表所用的相同的方法对索引进行分段

如果在创建分段表并随后创建索引时未指定分段存储策略,那么使用将表分段的相同方法来对索引分段。

例如:假设您用以下 SQL 语句创建分段表和索引:
CREATE TABLE tb1(a int) 
   FRAGMENT BY EXPRESSION
            (a >=0 AND a < 5) IN db1,
            (a >=5 AND a <10) IN db2,
            (a >=10 AND a <15) IN db3;
CREATE INDEX idx1 ON tb1(a);

数据库服务器将索引键分段到数据库空间 db1db2db3 中,分段时使用的列 a 值的 范围与表的相同,因为 CREATE INDEX 语句没有指定分段存储策略。

假设您接着决定用以下 SQL 语句拆离第三个分段中的数据:
ALTER FRAGMENT ON TABLE tb1 
      DETACH db3 tb3;

由于索引的分段存储策略与表的相同,因而 ALTER FRAGMENT DETACH 语句在拆离操作后不重建索引。数据库服务器 删除数据库空间 db3 中的索引分段,更新 系统目录表,并消除索引建立。