2017-03-22 3 views
0

특정 테이블의 차수가 1이고 인스턴스가 1 인 4 개의 노드로 구성된 RAC가 있으며 해당 테이블의 인덱스 중 하나에 DOP가 16이고 인스턴스가 1입니다. 테이블과 인덱스가 동일한 DOP를 가져야한다는 제한이 있는지 알고 싶습니다. 그것이 사실이 아니라면 어떻게 데이터베이스에 영향을 미칩니 까?테이블 및 인덱스에서 Oracle의 병렬 처리 수준

답변

1

테이블 및 지수 평행도 (DOP)는 독립적입니다.

FULL TABLE SCAN과 같은 테이블 액세스의 경우 테이블 DOP가 기본값으로 사용됩니다. 색인 DOP가 기본값으로 사용되는 색인 액세스 경로는 병렬 처리 할 수 ​​있습니다.

보통 인 경우을 만들고 병렬 옵션을 사용하여 색인을 생성합니다. 사용 된 DOP는 작성된 색인에 대해 저장됩니다. (으로 변경하면 인덱스 DOP가 NOPARALLEL으로 변경 될 수 있습니다. 여기에 littele 예를

, 병렬 모드에서 인덱스를 생성하고 나중에 DOP를 reeting : 그것은 모든 쿼리에 대한 유효로 generall에서

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  

는 객체 기반의 기본 DOP와 자르해야한다. PARALLEL Hint을 사용하여 각 쿼리에 대한 명시 적 DOP를 정의하는 것이 더 유연 할 수 있습니다.

+0

나는 그 Table과 Index를 작성한 개발자에게 그가 명시 적으로 DOP를 생성 할 때 언급하지 않았다고 말했다. DB가 자동으로 그 값을 설정했을 수도 있습니다. 내가 볼 필요가있는 특정 매개 변수? – redsoxlost

+0

@redsoxlost는 명제를 중계하지 않습니다. 시스템을 확인하십시오 :) 예제를 추가했습니다. 자신의 색인을 만들고 DOP를 확인하십시오. 다시 한 번 IMO 병렬 학위는 데이터베이스, 인스턴스, 테이블 또는 색인의 기능이 아니지만 특정 쿼리에 대해 설정해야합니다. –

0

자신을 검사하면 색인 및 관련 테이블에 동일한 DOP가 있어야한다는 제한이 없습니다. 데이터베이스에 영향을주는 유일한 방법은 병렬 프로세스로 인해 서버에 추가로드입니다.

+0

감사합니다. Sandeep. 확인한 링크를 공유해 주시겠습니까? – redsoxlost

+0

:) 내 로컬 시스템에서 확인했습니다. – Sandeep