Oracle使用并行建索引需要注意的问题
程序员文章站
2022-05-17 22:01:54
建索引时,我们为了建索引快,会加上并行,加上并行之后,此列索引就会是并行了。访问有并行度的索引时,cbo可能可能会考虑并行执行,这可能会引发一些问题,如在服务器资源紧张的时...
建索引时,我们为了建索引快,会加上并行,加上并行之后,此列索引就会是并行了。访问有并行度的索引时,cbo可能可能会考虑并行执行,这可能会引发一些问题,如在服务器资源紧张的时候用并行会引起更加严重的争用。当使用并行后,需要把并行度改回来。
sql> drop table test purge;
sql> create table test as select * from dba_objects;sql> create index ind_t_object_id on test(object_id) parallel 4 ;
sql> select s.degree
from dba_indexes s
where s.index_name = upper('ind_t_object_id');
degree
----------------------------------------
4
sql> alter index ind_t_object_id noparallel;
sql> select s.degree
from dba_indexes s
where s.index_name = upper('ind_t_object_id');
degree
----------------------------------------
1