현재 어떤 배치프로그램이 아래와 같이 동작합니다.
while(1){
select
*
from AA
where rownum = 1
and 상태코드 = 0 and PK = xx
order by 1, 2 desc
;;;
sql_not_found 이면 break;
존재하면
update AA
상태코드 = 1
where PK = xx
커밋
}
즉 쉽게 풀어쓰면 rownum으로 1건 가져와서 완료로 업데이트찍고 커밋하고 다음 rownum 1건 가져와서 완료 업데이트찍고 커밋하는 식으로 되어 있는데
여기서 rownum을 없애버리고 그냥 select 하고 1건씩 fetch를 해서 처리하는게 속도가 더 잘 나올까요?
|