并行ddl

SQL> create index idx_t3 on t1(object_name,object_id) parallel;


索引已创建。


SQL> select index_name ,degree from user_indexes where index_name='idx_t3';


未选定行


SQL> select index_name ,degree from user_indexes where index_name='IDX_T3';


INDEX_NAME                                                   DEGREE
------------------------------------------------------------ ------------------------------------
IDX_T3                                                       DEFAULT


SQL> alter index idx_t3 noparallel;


索引已更改。


SQL> select index_name ,degree from user_indexes where index_name='IDX_T3';


INDEX_NAME                                                   DEGREE
------------------------------------------------------------ ------------------------------------
IDX_T3                                                       1


看到ddl语句的并行在执行完后,相关对象有了并行度,所以ddl在执行完后,最好是能够重置下对象的并行度。


并行dml

在sql中使用parallel可能没有真正的走并行,导致需要的时间更长了,要使用真正的并行

1alter session force parallel dml;

2alter sessoin enable parallel dml;+并行hint