2013年(350)
分类: Mysql/postgreSQL
2013-04-25 10:47:17
1、重编译索引分区(Rebuilding Index Partitions)
一生不如意,十有八九。碰上索引分区无效也不见得就是撞头彩的运气,这个东西还是黑常见的,比如操作时未指定update indexes子句就极有可能造成索引分区的无效,一般情况下,你都可以通过:
Alter index idxname rebuild partition/subpartition ptname;
重新编译。注意global索引只支持range分区,local索引无限制。
例如:
JSSWEB> alter index idx_part_range_id rebuild partition i_range_p2;
索引已更改。
JSSWEB> select partition_name,high_value,tablespace_name,status from user_ind_partitions
2 where index_name='IDX_PART_RANGE_ID';
PARTITION_NAME HIGH_VALUE TABLESPACE_NAME STATUS
-------------------- --------------- -------------------- --------
I_RANGE_P2 40 TBSPART02 USABLE
I_RANGE_PMAX MAXVALUE TBSPART03 USABLE
而对于local索引分区,你还可以使用这种命令方式:
alter table tbname modify partition/subpartition ptname rebuild unusable local indexes;
2、重命名索引分区(Renaming Index Partitions)
与表分区中改名功能相同,索引分区重命名也仅只是改个名字而已,语法非常简单:
Alter index idxname rename partition/subpartition ptname to ptnewname;
这个功能没啥可说的,使用也很简单:
JSSWEB> alter index idx_part_range_id rename partition i_range_p2 to i_range_p1;
索引已更改。
同样需要注意,global分区只能够支持range分区,local索引无限制。
3、分拆索引分区(Splitting Index Partitions)
Split partiton操作只能操作global索引分区(local分区会自动维护),且只能操作global索引分区中range类型的分区。
语法与表分区的操作很类似:
Alter index idxname split partition ptname at(value) into(partition pt1 tbsclause,partition pt2 tbsclause);
看个例子:
JSSWEB> alter index idx_part_range_id split partition i_range_p1 at (10) into
2 (partition i_range_p1 tablespace tbspart01,
3 partition i_range_p2 tablespace tbspart02);
索引已更改。
JSSWEB> select partition_name,high_value,tablespace_name,status from user_ind_partitions
2 where index_name='IDX_PART_RANGE_ID';
PARTITION_NAME HIGH_VALUE TABLESPACE_NAME STATUS
-------------------- --------------- -------------------- --------
I_RANGE_P1 10 TBSPART01 USABLE
I_RANGE_PMAX MAXVALUE TBSPART03 USABLE
I_RANGE_P2 40 TBSPART02 USABLE
4、修改索引分区默认属性(Modifying Default Attributes of Index Partitions)
修改索引分区默认属性,与修改表分区的操作没什么区别,不过对于global索引,你只能修改range分区,local索引则无此限制。
语法上小有差异:Alter index idxname modify default attributes for partition ptname;
不做演示!
5、修改索引分区当前属性(Modifying Real Attributes of Index Partitions)
同样global索引只支持range分区的修改,支持所有local索引,其它与表分区修改同理,不做演示!
====================================================