PL/SQL Cursor vs Bulk Into 0 2 877

by 동글이 [PL/SQL] Cursor Bulk Into [2021.07.13 10:26:22]


안녕하세요

PL/SQL 사용 중에

궁금한 점이 있어서요.

select문을 이용해서 커서를 만드는건 동일한데요

1개는 커서 안에서 loop를 태우고

다른 1개는 커서를 bulk into문으로 컬렉션에 넣은다음에 for loop문으로 따로 태워줍니다.

이렇게 했을 때 성능의 차이가 있을까요?

 

예시 소스입니다.

1번

for cur in (select emp_no
              from emp)

loop
  insert 
     into group
         ( emp_no)
 values 
         ( cur.emp_no)
     
end loop;

2번

open cur for (select emp_no
                       from emp)

fetch cur bulk collect into v_bulk_emp
for cur in 1.. v_bulk_emp.count
loop

  insert 
     into group
         ( emp_no)
 values 
         ( i.emp_no)
     
end loop;

 

by 마농 [2021.07.13 10:54:49]

성능향상을 하려면 for 문이 아닌 forall 구문 사용하셔야 합니다.


by 동글이 [2021.07.13 11:02:26]

답변 감사합니다.

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