참조
파티션이란
open_file_limit
(동시에 열 수 있는 파일 수)를 높게 설정파티션 형식
md5()
함수를 이용한 hash 값을 기반으로 파티셔닝 → hash 보다 균등파티셔닝 활용
테이블 생성 + 파티셔닝
// 테이블 생성과 동시에 파티셔닝 수행
CREATE TABLE test_user (
name VARCHAR(20) NOT NULL,
birth_year INT NOT NULL)
PARTITION BY RANGE (birth_year) (
PARTITION part1 VALUES LESS THAN(1970),
PARTITION part2 VALUES LESS THAN(1980),
PARTITION part3 VALUES LESS THAN(1990),
PARTITION part4 VALUES LESS THAN MAXVALUE);
테이블 파티셔닝 이후 재 파티셔닝
// 파티셔닝이 이루어진 테이블은 추가가 불가능함
// 대신, 이미 파티셔닝된 테이블을 재 파티셔닝하는 방식으로 추가할 수 있음
ALTER TABLE test_user
REORGANIZE PARTITION part4 INTO (
PARTITION part4 VALUES LESS THAN (2000),
PARTITION part5 VALUES LESS THAN (MAXVALUE)
);
// 재구성된 파티션을 적용하려면 OPTIMIZE 테이블문을 사용
OPTIMIZE TABLE test_user;
파티셔닝 테이블 확인 쿼리
SELECT TABLE_SCHEMA, TABLE_NAME, PARTITION_NAME
, PARTITION_ORDINAL_POSITION, TABLE_ROWS
FROM information_schema.PARTITIONS
WHERE TABLE_NAME = 'test_user';
주의할 점