반응형
대량의 데이터 INSERT시 빠르게 하는방법
-> 주의 : undo log와 redo log가 쌓이지 않습니다
즉 롤백할수 없으며 장애시 복구불가능 합니다
관리상 대량의 임시 데이터를 INSERT 할때 사용하는것이 바람직 합니다
PARALLEL 사용
DROP INDEX pks_target_t;
ALTER SESSION ENABLE PARALLEL DML;
ALTER TABLE target_t NOLOGGING;
INSERT /*+ PARALLEL (target_t, 4) */ INTO target_t
SELECT /*+ PARALLEL (source_t, 4) */ * FROM source_t;
COMMIT;
ALTER TABLE target_t LOGGING;
ALTER SESSION DISABLE PARALLEL DML;
CREATA INDEX pks_target_t on target_t (...);
APPEND 사용
DROP INDEX pks_target_t;
ALTER TABLE target_t NOLOGGING;
INSERT /*+ APPEND */ INTO target_t
SELECT * FROM source_t;
COMMIT;
ALTER TABLE target_t LOGGING;
CREATA INDEX pks_target_t on target_t (...);
-> 주의 : undo log와 redo log가 쌓이지 않습니다
즉 롤백할수 없으며 장애시 복구불가능 합니다
관리상 대량의 임시 데이터를 INSERT 할때 사용하는것이 바람직 합니다
PARALLEL 사용
DROP INDEX pks_target_t;
ALTER SESSION ENABLE PARALLEL DML;
ALTER TABLE target_t NOLOGGING;
INSERT /*+ PARALLEL (target_t, 4) */ INTO target_t
SELECT /*+ PARALLEL (source_t, 4) */ * FROM source_t;
COMMIT;
ALTER TABLE target_t LOGGING;
ALTER SESSION DISABLE PARALLEL DML;
CREATA INDEX pks_target_t on target_t (...);
APPEND 사용
DROP INDEX pks_target_t;
ALTER TABLE target_t NOLOGGING;
INSERT /*+ APPEND */ INTO target_t
SELECT * FROM source_t;
COMMIT;
ALTER TABLE target_t LOGGING;
CREATA INDEX pks_target_t on target_t (...);
반응형