2017-03-22 56 views
0

的我们有建立与在某些表中有一个度为1 4个节点和实例的RAC是1,并且在该表中的索引中的一个具有DOP作为16和实例1。只是想知道是否有任何限制,表和索引应该有相同的DOP?如果不是这种情况,那么它将如何影响数据库。度并行Oracle中上一个表和索引

回答

1

表和索引程度的平行(DOP)是独立的。

表DOP在的表访问诸如FULL TABLE SCAN情况下作为缺省值。某些索引访问路径可以并行化,因为索引DOP被用作默认值。

您通常情况出现,如果你创建和带有并行选项指数。已使用的DOP存储在创建的索引中。 (可能你只需要alter索引DOP到NOPARALLEL创建之后)。

这里一个littele例如,创建并行模式的索引,之后reeting的DOP:

create index idx on t1(id) parallel 4; 

select DEGREE, INSTANCES from user_indexes where index_name = 'IDX'; 

DEGREE         INSTANCES        
---------------------------------------- ---------------------------------------- 
4          1          

alter index idx noparallel; 

select DEGREE, INSTANCES from user_indexes where index_name = 'IDX'; 

DEGREE         INSTANCES        
---------------------------------------- ---------------------------------------- 
1          1  

在generall你应该小心使用基于对象的默认DOP,因为它是适用于所有查询。使用PARALLEL Hint为每个查询定义明确的DOP可能更灵活。

+0

我询问是谁创造了这些表和索引的开发者,他说,他没有在创建时explicitlyu提到DOP。 DB可能会自动设置该值。我需要看的任何特定参数? – redsoxlost

+0

@redsoxlost不接受命题,检查系统:)我添加了一个例子。创建您自己的索引并验证DOP。再次IMO并行度不是数据库,实例,表或索引的特征,但应该为特定查询设置。 –

0

检查它自己有没有一个指标及其关联的表应该有相同的DOP这样的限制。它影响数据库的唯一方式是由于并行进程而导致服务器额外负载。

+0

谢谢Sandeep。请您分享您检查过的链接。 – redsoxlost

+0

:)在我的本地系统上检查它 – Sandeep