[sql] 파티션 테이블의 인덱스 작성 및 최적화 방법
파티션 테이블은 대량의 데이터를 다룰 때 성능을 향상시키는데 도움을 줄 수 있습니다. 이때 적절한 인덱스 작성과 최적화가 중요합니다.
파티션 테이블의 인덱스 작성
파티션 테이블의 인덱스 작성은 파티션 키와 함께 고려되어야 합니다. 이렇게 하면 데이터 검색 효율을 극대화할 수 있습니다. 보통 파티션 키와 함께 사용되는 인덱스는 로컬 파티션 인덱스가 됩니다.
예시
CREATE TABLE sales (
id INT NOT NULL,
sale_date DATE,
amount DECIMAL(10,2),
...
)
PARTITION BY RANGE (YEAR(sale_date)) (
PARTITION p0 VALUES LESS THAN (2015),
PARTITION p1 VALUES LESS THAN (2016),
PARTITION p2 VALUES LESS THAN (2017),
...
);
CREATE INDEX idx_sales_date ON sales (sale_date, amount) LOCAL;
파티션 테이블의 인덱스 최적화
파티션 테이블의 인덱스 최적화를 위해서는 정기적인 통계 수집과 인덱스 재구성이 필요합니다. 특히 파티션 테이블은 데이터의 분포도가 다양하기 때문에 통계 수집이 중요합니다. 또한 파티션 간 데이터 불균형이 발생하는 경우, 인덱스 재구성을 통해 성능을 최적화할 수 있습니다.
예시
ANALYZE TABLE sales UPDATE HISTOGRAM ON sale_date;
ALTER TABLE sales REBUILD PARTITION p0, p1, p2;
파티션 테이블의 인덱스 작성과 최적화를 위한 기본적인 방법을 살펴보았습니다. 이를 통해 대량의 데이터를 다루는 시스템에서 뛰어난 성능을 얻을 수 있습니다.