当前所在位置:珠峰网资料 >> 计算机 >> Oracle认证 >> 正文
全局索引的ONLINE重建要注意影响(一)
发布时间:2010/10/22 9:31:38 来源:www.xue.net 编辑:城市总裁吧

    前几天遇到一个问题,重建一个表的索引的时候,竟然用了8个多小时。后来仔细检查了一下创建慢的索引,发现基本都是全局索引而且都是 ONLINE方式重建,每个分区的重建时间基本相同,大约在23分钟左右。其实导致问题的原因很简单:由于采用ONLINE方式,而且全局索引的每一个分区的数据可能来自这个表的任何一个分区,所以ORACLE对于全局索引的任何一个分区的重建都要走全表扫描。

    SQL> SHOW USER

    USER is "TEST"

    SQL> CREATE TABLE T(ID INT,NAME VARCHAR2(30))

    2  PARTITION BY RANGE(ID)

    3  (

    4  PARTITION P1 VALUES LESS THAN(10000),

    5  PARTITION P2 VALUES LESS THAN(20000),

    6  PARTITION P3 VALUES LESS THAN(30000),

    7  PARTITION P4 VALUES LESS THAN(40000),

    8  PARTITION P5 VALUES LESS THAN(50000),

    9  PARTITION PMAX VALUES LESS THAN(MAXVALUE)

    10  )

    11  /

    Table created.

    SQL> CREATE INDEX T_ID_IDX ON T(ID) GLOBAL

    2  PARTITION BY HASH(ID)

    3  PARTITIONS 32

    4  /

    Index created.

    SQL> COL INDEX_NAME  FORMAT A20

    SQL> COL PARTITION_NAME FORMAT A20

    SQL> SELECT INDEX_NAME,PARTITION_NAME FROM USER_IND_PARTITIONS WHERE INDEX_NAME='T_ID_IDX';

    INDEX_NAME           PARTITION_NAME

    -------------------- --------------------

    T_ID_IDX             SYS_P225

    T_ID_IDX             SYS_P226

    T_ID_IDX             SYS_P227

    T_ID_IDX             SYS_P228

    T_ID_IDX             SYS_P229

    T_ID_IDX             SYS_P230

    T_ID_IDX             SYS_P231

    T_ID_IDX             SYS_P232

    T_ID_IDX             SYS_P233

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved