[Oracle] Create index速度測試nologging+parallel

tolilong發表於2016-10-20
SQL> select segment_name,bytes/1024/1024/1024 from user_segments;

SEGMENT_NAME         BYTES/1024/1024/1024
-------------------- --------------------
BRUCE                               8.875
BRUCE1                             8.9375
BRUCE2                         8.88769531
BRUCE3                         8.88317871
BRUCE4                         8.88317871
BRUCE5                              8.875
BRUCE6                         8.88323975
BRUCE7                             8.9375


SQL> create index bruce_idx on bruce(object_id) tablespace bruce_idx;

索引已建立。

已用時間:  00: 02: 35.97
SQL>
SQL> create index bruce1_idx on bruce1(object_id) tablespace bruce_idx nologging;

索引已建立。

已用時間:  00: 01: 47.11
SQL>
SQL> create index bruce2_idx on bruce2(object_id) tablespace bruce_idx parallel 2;

索引已建立。

已用時間:  00: 02: 13.73
SQL> create index bruce3_idx on bruce3(object_id) tablespace bruce_idx nologging parallel 2;

索引已建立。

已用時間:  00: 01: 03.74

SQL> select index_name,table_name,logging,degree from user_indexes;

INDEX_NAME           TABLE_NAME           LOGGIN DEGREE
-------------------- -------------------- ------ ------------------------------------------------------
BRUCE1_IDX           BRUCE1               NO     1
BRUCE_IDX            BRUCE                YES    1
BRUCE2_IDX           BRUCE2               YES    2
BRUCE3_IDX           BRUCE3               NO     2

已用時間:  00: 00: 00.04
SQL>
SQL> alter index bruce1_idx logging;

索引已更改。

已用時間:  00: 00: 00.01
SQL> alter index bruce2_idx parallel 1;

索引已更改。

已用時間:  00: 00: 00.01
SQL> alter index bruce3_idx parallel 1 logging;

索引已更改。

已用時間:  00: 00: 00.01
SQL> select index_name,table_name,logging,degree from user_indexes;

INDEX_NAME           TABLE_NAME           LOGGIN DEGREE
-------------------- -------------------- ------ ------------------------------------------------------
BRUCE1_IDX           BRUCE1               YES    1
BRUCE_IDX            BRUCE                YES    1
BRUCE2_IDX           BRUCE2               YES    1
BRUCE3_IDX           BRUCE3               YES    1

已用時間:  00: 00: 00.06


---------------------------------------------------------------------
普通情況         |    02: 35.97
nologging        |    01: 47.11
parallel         |    02: 13.73
parallel + nologging |   01: 03.74

可以看出parallel + nologging 可以快速的建立index.
上述測試是在沒有業務壓力的情況下測試的,在實際生產環境中需要考慮加上 online引數。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24237320/viewspace-2126838/,如需轉載,請註明出處,否則將追究法律責任。

相關文章