프로시저 튜닝 방법 0 3 2,024

by ㅇㄴㅇ [PL/SQL] [2012.02.21 15:23:31]


현재 약 20만건을 수행하는 프로시저입니다.

내용은 총 2건의 비지니스 로직(프로시저)인데,

1) 테이블 A(3500만건)에 insert 와
2) 집계 테이블 B(5000만건)에 1~5회의 Update 작업을 처리합니다.

현재 작업기간은 db가 새벽 시간일때 4시간, 낮시간에는 10시간이 걸립니다.

프로시저 1) 2)로 로직으로는 튜닝이 불가능 합니다.
이러한 형태의 프로시저를 튜닝할 때
고려될 사항은 무엇이 있을까요?

정보가 불분명해서 죄송합니다.
일반적인 경우에 대해서 여쭙고자 합니다.
by 부쉬맨 [2012.02.21 15:39:10]
로직으로 불가능하다고하시니...

insert 되는부분의 select 해서 가져오는값인지는 모르겠지만
그조건값을 select 하였을때 속도를 일단확인해보셔야겟죠

update도 마찬가지고
update하는 where 절이나 set 절에 들어가는 값의 정보의 속도를 확인을 하셔섯
차근차근 찾아보시라고 말씀을드릴수밖에없겠네요.

by 베스트드레곤 [2012.02.21 17:48:34]
분산처리를 하면 어떤가요?



by 허접 [2012.02.21 18:05:42]
insert 만
PARALLEL 욕안먹을 만큼
EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL DML';

INSERT /*+ PARALLEL(B, 8) */
INTO 테이블 B
select /*+ FULL(a) PARALLEL(a, 8) */
* from 테이블 a
where 조건


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