[sql] 테이블 파티셔닝을 활용한 용량 관리

테이블 파티셔닝은 대용량의 데이터를 보다 효과적으로 관리하기 위한 기술 중 하나입니다. 테이블 파티셔닝은 데이터를 논리적 또는 물리적 기준에 따라 여러 파티션으로 분리하여 저장하는 방법을 말합니다. 이를 통해 데이터 접근 및 관리 성능을 향상시킬 수 있습니다.

테이블 파티셔닝의 장점

  1. 성능 향상: 데이터의 범위를 좁혀 쿼리를 실행할 때 필요한 데이터 양을 줄여 성능을 향상시킬 수 있습니다.
  2. 용량 관리: 파티셔닝된 테이블은 데이터를 논리적 또는 물리적으로 분리하므로 용량을 보다 효과적으로 관리할 수 있습니다.

파티셔닝 기법

Range 파티셔닝

데이터의 범위에 따라 파티션을 나누는 기법으로, 날짜나 숫자 범위에 따라 파티션을 나눌 수 있습니다.

CREATE TABLE sales (
    sale_id INT NOT NULL,
    sale_date DATE,
    amount DECIMAL(10,2)
)
PARTITION BY RANGE (YEAR(sale_date)) (
    PARTITION p0 VALUES LESS THAN (1990),
    PARTITION p1 VALUES LESS THAN (2000),
    PARTITION p2 VALUES LESS THAN (2010),
    PARTITION p3 VALUES LESS THAN MAXVALUE
);

List 파티셔닝

특정 열의 목록에 따라 파티션을 나누는 기법입니다.

CREATE TABLE customer (
    customer_id INT NOT NULL,
    last_name VARCHAR(50),
    first_name VARCHAR(50)
)
PARTITION BY LIST (COUNTRY) (
    PARTITION pUSA VALUES IN ('USA'),
    PARTITION pCANADA VALUES IN ('CAN', 'CANADA'),
    PARTITION pOTHER VALUES IN (DEFAULT)
);

주의사항

테이블 파티셔닝을 올바르게 활용하면 대용량의 데이터를 효과적으로 관리할 수 있으며, 이는 데이터베이스 시스템의 성능을 향상시키는 데 기여할 수 있습니다.