Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1200880
  • 博文数量: 350
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5668
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-23 17:53
文章分类

全部博文(350)

文章存档

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索引,其它与表分区修改同理,不做演示!

====================================================

阅读(766) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~