(개발의 포인트)
개인정보 보유, 기본 = 1년, 최대 = 5년
포인트는 id와 기타 정보가 있고, 무엇을 했는지 어디서 접속했는지 정보가 있으니 개인정보?
포인트가 개인정보라면 어찌할 것인가?
(개발의 고민)
포인트는 5년 단위로 삭제한다.
delete를 하면 엄청나게 부하게 걸리는데 어떻게 할 것인가?
(개발의 방향)
MySQL 5.5의 새로운 기능 파티셔닝을 쓴다
1. 월 또는 년단위로 포인트 파티션 테이블을 생성
2. 삭제(drop)할 테이블의 포인트를 sumup 해서 현재의 포인트로 추가
3. 파티션을 drop
이런식으로 하면 항상 active한 숫자의 포인트 테이블을 유지할 수 있습니다.
- opencode.co.kr -
¿ ϴ.
5.1 5.5 ̼Ŵ ũ ٸϴ.
5.5 ̻ մϴ.
5.1 ˾Ƽ...
-> PARTITION BY RANGE ( TO_DAYS(time_recorded) ) (
-> PARTITION Jan2014 VALUES LESS THAN (TO_DAYS('2014-02-01')),
-> PARTITION Feb2014 VALUES LESS THAN (TO_DAYS('2014-03-01')),
-> PARTITION Mar2014 VALUES LESS THAN (TO_DAYS('2014-04-01')),
-> PARTITION Apr2014 VALUES LESS THAN (TO_DAYS('2014-05-01')),
-> PARTITION May2014 VALUES LESS THAN (TO_DAYS('2014-06-01')),
-> PARTITION Jun2014 VALUES LESS THAN (TO_DAYS('2014-07-01')),
-> PARTITION Jul2014 VALUES LESS THAN (TO_DAYS('2014-08-01')),
-> PARTITION Aug2014 VALUES LESS THAN (TO_DAYS('2014-09-01')),
-> PARTITION Sep2014 VALUES LESS THAN (TO_DAYS('2014-10-01')),
-> PARTITION Oct2014 VALUES LESS THAN (TO_DAYS('2014-11-01')),
-> PARTITION Nov2014 VALUES LESS THAN (TO_DAYS('2014-12-01')),
-> PARTITION Dec2014 VALUES LESS THAN (TO_DAYS('2015-01-01')),
-> PARTITION Jan2015 VALUES LESS THAN (TO_DAYS('2015-02-01'))
-> );
http://anothermysqldba.blogspot.kr/2014/04/mysql-partitions-timestamp-datetime.html
Ͽ.
ƼŴ Ǵ Į ݵ PRIMARY KEY Ǿ ־ Ѵٴ ̴.