문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
study:oracle:datadb:4week_2:chap5 [2010/05/27 10:47] zummaz |
study:oracle:datadb:4week_2:chap5 [2010/05/27 10:55] zummaz |
||
---|---|---|---|
줄 25: | 줄 25: | ||
* 한 번 지정한 병렬도는 내부적으로 GROUP BY나 정렬처리 등의 단위작업에도 재차 적용될수 있다. | * 한 번 지정한 병렬도는 내부적으로 GROUP BY나 정렬처리 등의 단위작업에도 재차 적용될수 있다. | ||
* 만약 **__병렬처리에 어떤 제한 요소__**가 발생하게 되면 이 힌트는 무시된다. | * 만약 **__병렬처리에 어떤 제한 요소__**가 발생하게 되면 이 힌트는 무시된다. | ||
- | | + | * 참고사항 : 보통 많은 책들에서 Update, Delete 시에 Partition TABLE이 아닌경우 PARALLEL 수행이 안된다고 하는데 실레로 10g에서 |
줄 46: | 줄 46: | ||
예) SELECT /*+ NOPARALLEL(m) */ member_name | 예) SELECT /*+ NOPARALLEL(m) */ member_name | ||
FROM member m; | FROM member m; | ||
+ | |||
===PQ_DISTRIBUTE=== | ===PQ_DISTRIBUTE=== | ||
- | 병렬 조인의 속도를 향상시키기 위해 슬레이브 프로세스 | + | *병렬 조인의 속도를 향상시키기 위해 슬레이브 프로세스 생산자(Producer)와 소비자(Consumer)프로세스 사이에서 조인할 테이블의 로우를 서로 주고 받는 할당작업(Distrubution)을 하는 방법을 정의 하는 힌트이다. |
- | 표현 방식: /*+ PQ_DISTRIBUTE(table, | + | |
- | - outer_distribution: | + | *outer_distribution: |
- | - inner_distribution: | + | *inner_distribution: |
- | -할당방법: | + | 할당방법: |
* HASH: 조인 키 컬럼에 대해 해쉬 함수를 수행한 결과값을 이용하여 소비자 프로세스에 로우들을 할당 | * HASH: 조인 키 컬럼에 대해 해쉬 함수를 수행한 결과값을 이용하여 소비자 프로세스에 로우들을 할당 | ||
* BROADCAST: 외측 테이블에 전체 로우를 모든 Consumer 프로세스로 보냄 | * BROADCAST: 외측 테이블에 전체 로우를 모든 Consumer 프로세스로 보냄 | ||
- | * PARTITON: 상대편 조인 대사 테이블이 조인 키 컬럼으로 파티션되어 있는 경우 파티션 키 값을 이용하여 로우들을 Consumer프로세스에 할당 | + | * PARTITON: 상대편 조인 대사 테이블이 조인 키 컬럼으로 파티션되어 있는 경우 파티션 키 값을 |
+ | | ||
* NONE: 조인 대상 로우들을 랜덤하게 파티셔닝함 | * NONE: 조인 대상 로우들을 랜덤하게 파티셔닝함 | ||