기존 설계된 파티션 테이블 설계가 제대로 되어있는지 확신이 없어 질문드립니다.
주로 특정 날짜 범위 데이터(1일 ~ 1달)를 조회하는 것이 주된 케이스입니다.
테이블 예시는 아래와 같습니다. create table document_log ( log_id varchar(46), partition_date timestamp, log_type int, primary key(log_id, partition_date) ) PARTITION BY RANGE (partition_date);
create index idx_1 on temp_table (log_type)
이고 테이블은 월별 파티션으로 만들었습니다. (SQL은 생략)
여기서 검색 조건으로 partition_date, log_type 을 주어 범위 검색을 한다고 하면
(select * from temp_table partition_date >= '2024-09-17' and partition_date < '2024-09-21' and log_type = 10;)
partition_date로 특정 월을 지정할 수는 있겠지만 그 월 파티션 내에서 log_type 인덱스를 타고 나온 결과를 풀스캔해야 할 것 같습니다.
이런 경우 log_date라는 partition_date 와 같은 값을 가진 컬럼을 두고
create index idx_1 on temp_table (log_type, log_date)를 하는 것이 맞는 설계인지, 아니면 위 예시 그대로 두는 것이 맞는 설계인지 알고 싶습니다.