트러블슈팅 오라클 퍼포먼스 2판 (2017년)
direct-path insert 0 0 41,297

by 구루비스터디 direct-path insert append [2023.09.09]


direct-path insert

  • CTAS 는 direct-path insert 방식을 사용.

direct-path insert



-- 1. append 힌트 --
INSERT /*+ append */ INTO ... SELECT ...;
INSERT ALL /*+ append */ INTO ... SELECT ...;
MERGE INTO ... NOT MATCHED THEN INSERT /*+ append */ VALUES (...);
INSERT /*+ append        */ INTO ... VALUES (...);  -- Only 11.1
INSERT /*+ append_values */ INTO ... VALUES (...);  -- 11.2 부터

-- 2. INSERT INTO SELECT 구문을 병렬로 수행

-- 3. OCI direct-path API 사용

-- 4. SQL*Loader 사용



direct-path insert
  • HWM 위에 직접 적재
  • 직접 쓰기이므로 버퍼 캐시 우회
  • 세그먼트 락
  • 세그먼트 크기 증가
  • 장점 : 최소한의 언두 사용
  • 성능을 더 개선하기 위해서 최소로깅을 병행하는 것이 좋다. (리두 최소)


direct-path insert 가 안먹는 경우
  • Insert Trigger 가 활성화 되어 있는 경우
  • 외래키가 활성화 되어 있는 경우
  • IOT
  • 클러스터 테이블
  • 객체 타입 컬럼 포함
  • nonUnique index 를 통해 구현한 기본키가 존재할때(11.1부터는 가능)


사용시기
  • 제한사항이 문제되지 않는다면? 대량 적재시 매우 유용
"데이터베이스 스터디모임" 에서 2017년에 "전문가를 위한 트러블슈팅 오라클 퍼포먼스(Second Edition) " 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/4406

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입