MERGE 구문을 성능 문제에 활용하자

다음은 CURSOR(SOURCE TABLE)에서 데이터를 추출하고 추출된 건수만큼 FOR문 반복적으로 수행하여 UPDATE & INSERT 수행하는 패턴의 프로그램

단계CASE1CASE2CASE3
(1)Cursor Open
SELECT
Fetch
Cursor Open
SELECT
Fetch
FILE OPEN
SELECT
Fetch Row
(2)FOR
IF CNT > 0 THEN
UPDATE
ELSE
INSERT;
END;
END LOOP
FOR
UPDATE or INSERT
END LOOP;
FOR
UPDATE or INSERT
END LOOP;
(3)Cursor CloseCursor CloseCursor Close

MERGE 구문의 활용

위의 프로그램의 성능은 CURSOR 에서 추출되는 데이터 건수에 의해 결정된다.
위와 같은 프로그램애서 MERGE 구문을 사용하면 수행시간을 크게 단축 시킬 수 있다