행위

병렬 쿼리 제약사항

DB CAFE

thumb_up 추천메뉴 바로가기


병렬 DML에 대한 제한 사항[편집]

  • 병렬 DML( direct-path 포함 INSERT)에는 다음 제한 사항이 적용됩니다.
  1. UPDATE, MERGE및 DELETE작업 에 대한 파티션 내 병렬 처리 에서는 COMPATIBLE초기화 매개변수를 9.2 이상으로 설정해야 합니다.
  2. INSERT VALUES는 병렬로 실행되지 않습니다.
  3. 트랜잭션은 서로 다른 테이블을 수정하는 여러 병렬 DML 문을 포함할 수 있지만 병렬 DML 문이 테이블을 수정한 후에는 후속 직렬 또는 병렬 문(DML 또는 쿼리)이 해당 트랜잭션에서 동일한 테이블에 다시 액세스할 수 없습니다.
  4. 이 제한은 직렬 다이렉트 패스 문 뒤에도 존재합니다 INSERT. 후속 SQL 문(DML 또는 쿼리)은 해당 트랜잭션 중에 수정된 테이블에 액세스할 수 없습니다.
  5. 동일한 테이블에 액세스하는 쿼리는 병렬 DML 또는 다이렉트 패스 INSERT문 이전에는 허용되지만 이후에는 허용되지 않습니다.
  6. 동일한 트랜잭션 중에 병렬 또는 다이렉트 패스에 의해 수정된 테이블에 액세스하려고 시도하는 직렬 또는 병렬 문은 오류 메시지와 함께 거부 됩니다
  7. 병렬 DML 작업은 트리거가 있는 테이블에서 수행할 수 없습니다.
  8. 병렬 DML은 자체 참조 무결성, 계단식 삭제 및 지연된 무결성과 같은 특정 제약 조건이 있는 경우 발생할 수 없습니다. 또한 direct-path INSERT의 경우 참조 무결성이 지원되지 않습니다.
  9. 오브젝트 컬럼에 액세스하지 않는 경우 오브젝트 컬럼이 있는 테이블에서 병렬 DML을 수행할 수 있습니다.
  10. LOB 테이블이 분할된 경우 컬럼 있는 테이블 에서 병렬 DML을 수행할 수 있습니다 . 그러나 파티션 내 병렬 처리는 지원되지 않습니다.
  11. LOB 컬럼이 있는 분할되지 않은 테이블의 경우 LOB 열이 SecureFiles LOB로 선언되면 병렬 INSERT작업이 지원됩니다. 이러한 테이블에 대한 병렬 UPDATE, DELETE및 MERGE작업은 지원되지 않습니다.
  12. DML 작업이 분산 트랜잭션에 있거나 DML 또는 쿼리 작업이 리모트 개체에 있는 경우 DML 작업을 병렬로 실행할 수 없습니다.
  13. 클러스터링된 테이블은 지원되지 않습니다.
  14. Parallel UPDATE, DELETE및 MERGE작업은 임시 테이블에 대해 지원되지 않습니다.
  15. 테이블이 분할되지 않은 경우 비트맵 인덱스가 있는 테이블에서 병렬 DML이 지원되지 않습니다.
  16. 이러한 제한 사항을 위반하면 문이 경고나 오류 메시지 없이 순차적으로 실행됩니다(오류 메시지를 유발할 수 있는 트랜잭션의 동일한 테이블에 액세스하는 문에 대한 제한 제외).
  17. 업데이트로 인해 행이 새 분할 영역으로 이동하지 않는 경우에만 분할된 테이블의 분할 키를 새 값으로 업데이트할 수 있습니다.
  18. 테이블이 행 이동 절이 활성화된 상태로 정의된 경우 업데이트가 가능합니다.
  19. 병렬 DML의 기능 제한은 병렬 DDL 및 병렬 쿼리와 동일합니다.