Search

Partitioning

태그

정의

대용량의 데이터를 관리하고 쿼리 성능을 향상시키기 위한 방법
큰 테이블을 논리적으로 작은 부분(파티션)으로 나누는 것을 말함
각 파티션은 독립적으로 관리되며, 이는 데이터베이스의 성능과 관리를 개선하는 데 도움이 된다

장점

1.
쿼리 성능 개선 MySQL은 쿼리 실행 시 필요한 파티션만 검색하여 처리속도를 향상
2.
데이터 관리 용이성 각각의 파티션은 별도로 백업하거나 복원할 수 있음
3.
데이터 저장 공관 활용 개선 다른 스토리지 엔진과 다른 스토리지 장치에 서로 다른 파티션을 저장 가능

유형

1.
RANGE Partitioning 열 값에 따라 연속된 범위를 가진 여러 파티션으로 분리
2.
LIST Partitioning 열 값에 따라 몇 가지 임의의 그룹으로 분리
3.
HASH Partitioning 사용자가 지정한 해시 함수에 의해 계산된 해시 값에 따라 분리
4.
KEY Partitioning MySQL 서버 내장 함수를 사용하여 해시 값을 계산

예시

CREATE TABLE orders ( order_id INT NOT NULL, customer_id INT NOT NULL, order_date DATE NOT NULL ) PARTITION BY RANGE( YEAR(order_date)*100 + MONTH(order_date) ) ( PARTITION p0 VALUES LESS THAN (202301), PARTITION p1 VALUES LESS THAN (202302), PARTITION p2 VALUES LESS THAN (202303), ... );
SQL
복사