MySql 파티셔닝 정리
1. 파티션 지원 확인
SHOW VARIABLES LIKE '%partition%';
SHOW PLUGINS;
2. 파티션 추가
CREATE TABLE `테이블` (
....
)
PARTITION BY RANGE(함수(`필드명`)) (
PARTITION `파티션명1` VALUES LESS THAN (값),
PARTITION `파티션명2` VALUES LESS THAN (값),
PARTITION `파티션명3` VALUES LESS THAN (MAXVALUE)
);
CREATE TABLE 이후 추가
ALTER TABLE `테이블` PARTITION BY RANGE(함수(`필드명`)) (
PARTITION `파티션명1` VALUES LESS THAN (값),
PARTITION `파티션명2` VALUES LESS THAN (값),
PARTITION `파티션명3` VALUES LESS THAN (MAXVALUE)
);
# THAN (표현식) 에는 THAN (함수(값)) 형태로도 가능
#표현식에 사용할 수 있는 함수 종류 및 파티션의 종류는 아래 링크에서 참고
http://wyseburn.tistory.com/entry/MySQL-%ED%8C%8C%ED%8B%B0%EC%85%94%EB%8B%9D
3. 파티션 분할
ALTER TABLE `테이블` REORGANIZE PARTITION `파티션명3` INTO (
PARTITION `파티션명3` VALUES LESS THAN (값),
PARTITION `파티션명4` VALUES LESS THAN (MAXVALUE)
);
4. 파티션 삭제
ALTER TABLE `테이블` DROP PARTITION `파티션명1`;
5. 파티션 관리
ALTER TABLE REBUILD PARTITION;
ALTER TABLE OPTIMIZE PARTITION;
ALTER TABLE ANALYZE PARTITION;
ALTER TABLE REPAIR PARTITION;
ALTER TABLE CHECK PARTITION;
6. 파티션 완전삭제
ALTER TABLE `테이블` REMOVE PARTITIONING;