by 느훼훼 [2017.06.22 12:26:21]
하루에 쌓이는 양이 약 200만건이 되는 테이블의 데이터를 지우려 합니다.
2년치를 지우려 하거든요.
근데 테이블이 워낙 무겁다 보니 한달치를 SELECT 하려해도 시간이 엄청 오래 걸립니다.
이럴 때 어떻게 해야할까요?
하루단위로 DELETE를 해야할까요,
아니면 테이블을 복사해 수년치의 데이터를 INSERT 하는게 나을까요?
궁금합니다.
테이블에 따로 원하시는 데이터 만드시고 rename 하세요 물론 인덱스도 다 rename 하셔야합니다.
그런데 기존 테이블은 파티셔닝 안되있나요??
네, 파티션 아닙니다;;
그정도 되는 대용량의 데이터를 지우는데는 많은 고려사항이 필요할 것 같습니다.
특히 인덱스가 문제인데요. 인덱스의 단편화로 데이터 삭제후에도 비효율이 커질 것 같습니다.
그런 점에서 위에 우리집아찌 말씀처럼 데이터를 별도로 생성하는게 좋을 것 같습니다.
데이터가 변경되지 않는 과거 데이터 라면 데이터 생성시에 압축을 고려하는 것도 좋을 거라 생각합니다.
파티션 데이터가 아니라고 말씀하셨는데요. 가능하면 파티션으로 변경하십시오.(날짜기준)