쿼리 최적화는 배포 후 숫자가 좋아져야 끝난다

인덱스 추가나 join 변경은 코드 리뷰로 끝나지 않습니다. 기준선, 제한 배포, 비교 지표, 되돌림 조건을 함께 둡니다.

사용자 기준

p95 응답 시간과 에러율이 내려가야 합니다.

DB 기준

rows read, CPU, I/O, lock wait가 줄어야 합니다.

운영 기준

쓰기 지연이나 인덱스 부작용이 없어야 합니다.

1

Baseline

변경 전 slow query와 p95를 저장합니다.

2

Plan

EXPLAIN으로 기대 개선을 문서화합니다.

3

Canary

일부 트래픽이나 낮은 부하 시간에 먼저 적용합니다.

4

Compare

전후 지표를 같은 기간과 조건으로 비교합니다.

5

Decide

개선이 없거나 부작용이 크면 되돌립니다.

Keep

latency와 DB 부하가 같이 좋아졌다.

Roll back

읽기는 좋아졌지만 쓰기나 lock이 나빠졌다.

Iterate

효과가 작으면 데이터 접근 패턴을 다시 본다.

핵심: 최적화의 완료 기준은 “코드가 바뀜”이 아니라 “같은 조건에서 지표가 좋아짐”이다.