Oracle에서는 병렬 INSERT를 통해 데이터를 빠르게 삽입할 수 있습니다. 일반적인 INSERT 작업은 단일 세션에서 수행되지만, 병렬 처리(Parallel Processing)를 이용하면 여러 개의 프로세스가 동시에 데이터를 삽입하여 성능을 향상시킬 수 있습니다.
병렬 INSERT는 여러 개의 병렬 프로세스를 활용하여 데이터를 삽입하는 기법입니다. Oracle은 데이터를 블록 단위로 나누고 여러 개의 프로세스가 동시에 데이터를 쓰도록 하여 성능을 극대화합니다.
✔ 주요 특징
PARALLEL 힌트를 사용하여 여러 프로세스가 동시에 데이터를 삽입병렬 INSERT는 세션 단위 설정 또는 SQL 단위 설정 방식으로 사용할 수 있습니다.
ALTER SESSION ENABLE PARALLEL DML; PARALLEL 힌트를 사용해도 병렬 처리가 되지 않습니다.INSERT /*+ APPEND PARALLEL(t, 4) */ INTO target_table t
SELECT * FROM source_table; APPEND 힌트: DIRECT PATH INSERT를 강제함PARALLEL(t, 4): target_table을 4개의 프로세스가 병렬로 처리ALTER SESSION ENABLE PARALLEL DML;
INSERT /*+ APPEND PARALLEL(emp, 4) */ INTO emp
SELECT * FROM emp_backup; emp_backup 테이블에서 데이터를 읽어와 4개의 병렬 프로세스를 사용하여 emp 테이블에 삽입ALTER SESSION ENABLE PARALLEL DML;
INSERT /*+ APPEND PARALLEL(sales, 8) */ INTO sales NOLOGGING
SELECT * FROM sales_backup; sales 테이블에 데이터 삽입ALTER SESSION ENABLE PARALLEL DML;
INSERT /*+ APPEND PARALLEL(customers, 6) */ INTO customers
SELECT customer_id, name, region
FROM customer_staging
WHERE status = 'NEW'; customer_staging 테이블에서 status = 'NEW' 조건을 만족하는 데이터를 customers 테이블에 삽입CACHE 옵션을 사용하여 동시성을 보장CREATE SEQUENCE my_seq CACHE 1000;ALTER INDEX REBUILD)APPEND는 DIRECT PATH를 사용하므로 ROLLBACK이 불가능| 방식 | 처리 시간 | CPU 사용량 | REDO 로그 발생량 |
|---|---|---|---|
| 단일 INSERT | 느림 | 낮음 | 많음 |
| 병렬 INSERT | 빠름 | 높음 | 적음 (NOLOGGING 사용 시) |
PARALLEL(t, N))NOLOGGING 옵션을 적용하면 REDO 로그를 최소화하여 성능 개선 가능ALTER TABLE my_table STORAGE (FREELISTS 1); APPEND 힌트를 사용하여 Direct Path Load 방식 적용| 항목 | 내용 |
|---|---|
| 병렬 INSERT 사용 조건 | ALTER SESSION ENABLE PARALLEL DML 필요 |
| DIRECT PATH 사용 | APPEND 힌트 적용 시 가능 |
| INDEX 영향 | 기존 INDEX가 무효화될 수 있음 (재구성 필요) |
| SEQUENCE 주의점 | CACHE 설정 권장 |
| 트랜잭션 처리 | APPEND 사용 시 ROLLBACK 불가 |
Oracle 병렬 INSERT는 대량의 데이터를 삽입할 때 강력한 성능 향상을 제공하지만, 적절한 튜닝과 주의사항을 고려해야 합니다. 🚀
필기 시험의 접근통제 영역은 용어 하나만 알아도 풀리는 문제와 개념을 뒤집어 묻는 문제가 섞여 나옵니다.…
유튜브에 AI 자동 생성 영상이 넘쳐납니다. 진짜 크리에이터들은 어떻게 살아남아야 할까요? AI와 경쟁하는 3가지 생존…
이틀 전에 사이드카가 걸렸을 때만 해도 "한 번 놀란 장"으로 끝날 줄 알았는데요. 15일 아침…
오전 시황 글에 이어 장중 후속 정리입니다. 코스피는 개장 직후 5%대였던 낙폭이 오전 10시 전후에…
10월 15일 목요일 아침, 코스피가 전날 종가보다 5.59% 낮은 5,673.01로 출발했습니다. 장 시작 7분 만에…
삼성 갤럭시 AI, 써보니 실망스러웠다. 온디바이스 한계, 지역 제한, 낮은 일상 활용도 등 현실적인 문제점…