행위

"오라클 벌크 인서트"의 두 판 사이의 차이

DB CAFE

(새 문서: == 벌크 인서트(BULK INSERT) 로 입력 속도 증가 == # 대량 인서트 성능 개선시 벌크 인서트를 사용하여 성능 개선 === 일반 INSERT === <source lang=sq...)
 
(일반 INSERT)
13번째 줄: 13번째 줄:
 
/
 
/
 
</source>
 
</source>
 +
 +
* 일반 INSERT 는 40초 소요
  
 
<source lang=sql>   
 
<source lang=sql>   

2021년 5월 11일 (화) 20:14 판

thumb_up 추천메뉴 바로가기


1 벌크 인서트(BULK INSERT) 로 입력 속도 증가[편집]

  1. 대량 인서트 성능 개선시 벌크 인서트를 사용하여 성능 개선

1.1 일반 INSERT[편집]

create table LARGE_TBL (id number, value varchar2(50));
begin
        for i in 1 .. 1000000 loop
                insert into large_tbl values (i,'foobar');
        end loop;
        commit;
end;
/
  • 일반 INSERT 는 40초 소요
Elapsed: 00:00:40.53
call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0          0          0           0
Execute 1000000     15.67      15.42         11       2838    1040617     1000000
Fetch        0      0.00       0.00          0          0          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total   1000001     15.67      15.42         11       2838    1040617     1000000

1.2 BULK INSERT[편집]

declare
        TYPE tbl_ins IS TABLE OF LARGE_TBL%ROWTYPE index by binary_integer;
        w_ins tbl_ins;
begin
        for i in 1 .. 1000000 loop
                w_ins(i).id := i;
                w_ins(i).value := 'foobar';
        end loop;       
        forall i in 1 .. 1000000 insert into large_tbl values w_ins(i);
        commit;
end;
/
Elapsed: 00:00:01.26 

call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.49       0.50         11       4804      24093     1000000
Fetch        0      0.00       0.00          0          0          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        2      0.49       0.51         11       4804      24093     1000000