시작하며
MMS 발송 모듈에서 히스토리 테이블의 Select 시 성능 저하로 커버링 인덱스를 적용하였다.
현재 상황
- 테이블은 4개의 컬럼으로 구성되어있고, 4개의 컬럼이 복합 PK로 구성 및 파티션이 적용 되어 있다.
- 발송 배치시 Select 쿼리 성능 저하로 TPS가 맞춰지지 않았다.
원인
- 복합 PK를 사용시 단점으로 Where 조건절이 복합키 컬럼이 모두 만족 되지 않는다면 인덱스가 적용이 되지않는다. 현재의 Where 조건절에는 하나의 컬럼만이 사용되었다.
- History 테이블로서 데이터가 지속적재 되기때문에 시간 경과에 따른 누적 성능 저하가 발생한다.
해결방안
- Where 조건절에 해당하는 컬럼을 추가 적용하여, 인덱스가 적용되도록 추가하여, 기존 성능 2초에서 0.01초로 감소시켰다.
링크 : 인덱스 자료 정리