1. 파티셔닝의 목적
많은 데이터의 빠른 처리를 위한 방법중 하나로 데이터와 인덱스를 조각화하여 물리적 공간을 효율적으로 사용 할 수 있도록 만들어 성능을 개선할 수 있도록 함.
- 특정 데이터 집합의 추가 / 삭제가 간편
- 데이터 검색 시 특정 파티션만 읽어서 속도 향상
- 병렬처리 가능
- 한 테이블에 너무 많은 데이터 입력되었을시 발생하는 속도저하 방지
2. 내부 처리
주위 : 파티션에 사용 되는 값은 int, date, datetime형만 가능.
create table tb_1(
int_value int null,
reg_date datetime not null,
..
..
primary key(int_value)
)
parition by range(year(reg_date)){
partition p1 values less than(2012),
partition p2 values less than(2013),
..
..
partition px values less than maxvalue
}
3. 파티션 종류
range, list, hash, key
-list
PARTITION BY List (job_code) (
PARTITION p0 VALUES IN (3),
PARTITION p1 VALUES IN (1,9),
PARTITION p2 VALUES IN (2,6,7),
PARTITION p3 VALUES IN (4,5,8,NULL)
);
-hash : range나 list로 균등하기 나누기 어려울 때,
PARTITION BY HASH (id)
PARTITIONS 4
(
PARTITION p0 ENGINE = INNODB,
PARTITION p1 ENGINE = INNODB
PARTITION p2 ENGINE = INNODB
PARTITION p3 ENGINE = INNODB
);
4. 파티션의 추가, 삭제, 분할, 병합
각 파티셔닝 방법에 따라 다름
출처 / 참고 : http://blog.hibrainapps.net/131
'linux' 카테고리의 다른 글
[Linux] Cent Os 본딩(Bonding) (0) | 2017.02.03 |
---|---|
[Linux] Cent Os 설치시 디스크 파티션 (0) | 2017.02.03 |
[Linux] Mysql dump (0) | 2017.02.03 |
[Linux] 오라클 실행 및 종료 (2) | 2017.02.03 |
[Linux] 리눅스 종료 끄기 / 재시작 (0) | 2017.02.03 |