대용량 데이터 삭제관련 문의드립니다. 0 5 977

by 초보개발자민짱 [Oracle Tuning] [2019.02.12 09:23:06]


안녕하세요 구루비에서 항상 도움을 많이받아가는 개발자입니다.

TEST_TABLE ( 데이터 3억건 이상 )

컬럼 :

AOO ( index 1 )

BOO ( index 2 )

COO ( index 3 )

DOO ( index 4 )

DELETE FROM TEST_TABLE

 WHERE AOO = 변수1

    AND BOO = 변수2 ;

실시간으로 업무이동시 TEST_TABLE에 데이터를 index2까지만 받아서 삭제를 하고 다시 추가하는

기능을 사용하고있습니다. 대용량 데이터다보니 해당 테이블이 자주 LOCK이 걸리는 현상이

자주 발생하고있습니다. 조금 효율적인 방법이 없나하여 질문드립니다.

by 소주쵝오 [2019.02.12 10:00:21]

index_combine(테이블명 인덱스1 인덱스2) 힌트 추가해서 select 한번 해보세요~


by 마농 [2019.02.12 10:02:53]

파티션 테이블 고려해 보세요.


by 초보개발자민짱 [2019.02.12 10:10:36]

소주쵝오님 좋은답변 감사합니다~
DELETE 시 힌트사용을 하여도 해당문제는 그대로 유지되는것 같네요 .

---------------------

마농님 좋은답변 감사합니다~
현재 파티션 테이블 사용중인데도 자주 락이 걸리네요 .

---------------------

티베로 4 db애서는 문제가 없었는데 6으로 버전업을 하니 어쨰 더 느려진거같은느낌이 드네요 .

 


by 마농 [2019.02.12 10:29:01]

파티션이 삭제 단위와 동일하게 되어 있나요?
글로벌 인덱스가 존재하지는 않나요?


by 초보개발자민짱 [2019.02.12 10:44:15]

마농님 좋은답변 감사합니다!

파티션은 삭제단위와 동일하게 되어있는 상황이고 글로벌 인덱스는 존재하지않고 로칼인덱스 사용중입니다.

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