Oracle/SQL2009. 11. 11. 23:20

create table t1
(col1 number);

set timing on                          -- 소요시간을 표시하기 위한 세팅


# insert문 백만개로 백만건 입력시 소요시간

  begin
    FOR i IN 1..1000000 LOOP
      insert into t1 values (i);
    END LOOP;
  end;
/

경과시간: 00:00:31.14

#connect by 이용 백만건 입력시 소요시간

  insert into t1
  select level
  from dual
  connect by level <= 1000000;

경과시간: 00:00:03.46 (9배나 빠름)

이렇게 데이터를 입력할 일이 있으면 꼭 connect by를 이용하도록 해야겠다.

'Oracle > SQL' 카테고리의 다른 글

WITH .. AS  (0) 2009.11.15
계층형 쿼리(Hierachical select)  (0) 2009.11.14
Merge  (0) 2009.11.09
분석함수(Anaylitic Function)  (0) 2009.11.09
단일행 함수(Single Row Function)  (0) 2009.11.09
Posted by 자수성가한 부자