본 게시물은 트래블록스 프로젝트를 진행하며 발생한 문제 및 개선 사항을 정리한 글입니다. 배경초기 알림 테이블(notifications)에는 별도의 인덱스가 없이 설계되었지만, 대용량 환경을 대비해 안정적인 성능을 유지할 수 있도록 최적화가 필요하다고 판단했다.따라서 1차적으로는 복합 인덱스를 통해, 2차적으로는 Covering Index 전략을 이용해 조회 성능을 최적화하려 했다.커서 기반 페이징을 이용했기에 사용한 SQL문은 아래와 같았다.SELECT notification_id, created_at, actor_id, actor_nickname_snapshot, receiver_id, template_id, typeFROM notificationsWHERE receiver_id = 1 AND cr..