Oracle建索引时,我们为了建索引快,会加上并行,加上并行之后,此列索引就会是并行了。访问有并行度的索引时,CBO可能可能会考虑
Oracle建索引时,我们为了建索引快,会加上并行,加上并行之后,此列索引就会是并行了。访问有并行度的索引时,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
Oracle 中并行度的设置需要考虑的因素
,