DELETE를 해야할 데이터가 있습니다. 0 3 1,567

by 느훼훼 [2017.06.22 12:26:21]


하루에 쌓이는 양이 약 200만건이 되는 테이블의 데이터를 지우려 합니다.

2년치를 지우려 하거든요.

근데 테이블이 워낙 무겁다 보니 한달치를 SELECT 하려해도 시간이 엄청 오래 걸립니다.

이럴 때 어떻게 해야할까요?

하루단위로 DELETE를 해야할까요, 

아니면 테이블을 복사해 수년치의 데이터를 INSERT 하는게 나을까요?

궁금합니다.

by 우리집아찌 [2017.06.22 12:35:00]

테이블에 따로 원하시는 데이터 만드시고 rename 하세요 물론 인덱스도 다 rename 하셔야합니다.

그런데 기존 테이블은 파티셔닝 안되있나요??


by 느훼훼 [2017.06.22 13:30:57]

네, 파티션 아닙니다;;


by 머털이 [2017.06.27 10:19:38]

그정도 되는 대용량의 데이터를 지우는데는 많은 고려사항이 필요할 것 같습니다.

특히 인덱스가 문제인데요. 인덱스의 단편화로 데이터 삭제후에도 비효율이 커질 것 같습니다.

그런 점에서 위에 우리집아찌 말씀처럼 데이터를 별도로 생성하는게 좋을 것 같습니다.

데이터가 변경되지 않는 과거 데이터 라면 데이터 생성시에 압축을 고려하는 것도 좋을 거라 생각합니다.

파티션 데이터가 아니라고 말씀하셨는데요. 가능하면 파티션으로 변경하십시오.(날짜기준)

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