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参数。
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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24237320/viewspace-2126838/