많이 쓴다고 좋은 뜻은 아니지만 좌우간 많이 씁니다. ㅎㅎ
2 ) 바뀌는 방식과 이전 방식을 비교해서 어떤 것이 더 나은 방법인지
모든 선택에는 얻는 게 있으면 잃는 것도 있으니 어떤 것이 항상 더 나은 방
법이라고 할 수는 없을 것 같고
가능하면 기존 방식으로 하되 데이터가 너무 많고 날짜별로 거의 독립적이어
사 한 테이블에 넣을 필요가 없다면 후자도 가능한 방법이라고 생각합니다.
다만 Oracle의 Partitioning 같은 기술을 쓰면 한 테이블에 저장하면서도 테
이블을 나누는 효과도 있으니 함 고려해보세요.
그냥 깔끔하게 날려버리고 싶은데 한 테이블에 넣어두면 삭제하는데 너무 오
래 걸리고 부하도 심해서 그럴 수도 있으니 융통성 있게 판단하시면 될 것 같
습니다.
김기용 쓴 글:
1. 쿼리를 만드실때 Plan을 잘 짜서 Partition Index를 타도록 해야 합니다. 대용량 데이터가 쌓이면 시간이 지날
수록 selece 및 group by 연산할때 속도가 나오지 않습니다.
2. 이건 아주 기초적인 것인데, 특정 주기(해당 일, 해당 시간)의 데이터를 삭제할 때 간혹 delete를 사용하는 개발자가
있습니다. 대량의 데이터가 있을때 delete문은 속도가 무지하게 느리기 때문에 이때는 꼭 partition drop으로 특정
partition을 날려야 합니다.
3. partition을 관리하는 process가 별도로 동작하고 있어야 합니다. partition을 몇년간의 분량을 미리 만들
어 놓지 않을 것이라면 매일 또는 매월 앞으로 몇달간 또는 몇일간의 partition을 생성하고 보관주기가 지난
partition을 drop하는 batch process가 있으면 도움이 됩니다.
다 아시는 내용이겠지만 혹시 도움이 되실까 해서 정리해 보았습니다. ^^