판단 원칙

반정규화는 실행 계획으로 병목을 확인하고, 인덱스·뷰 같은 덜 침습적인 해법을 먼저 시도한 뒤 그래도 읽기 비용이 남을 때 선택합니다.

1

병목을 먼저 확인

  • 실행 계획으로 느린 지점 찾기
  • 인덱스 문제인지 구분
  • 조인 비용인지, 집계 비용인지 구분

원인 분석 없이 구조부터 바꾸면 불필요한 중복만 늘어납니다.

2

먼저 인덱스·뷰로 해결

  • Covering Index 검토
  • Materialized View 검토
해결되면 종료 해결 안 되면 다음 단계
3

필요한 반정규화만 선택

테이블 병합 중복 컬럼 요약 테이블 파생 컬럼

읽기 경로를 얼마나 줄여야 하는지에 맞춰 유형을 고릅니다.

4

정합성 전략과 결과 검증

  • 동기/비동기, 트리거/배치 결정
  • 허용 가능한 데이터 지연 정의
성능 개선 갱신 비용 정합성 검증
읽기 성능이 좋아질수록 쓰기 비용과 정합성 관리 부담은 커질 수 있습니다. 그래서 반정규화는 마지막 선택지로 두고, 적용 후에도 성능·갱신 비용·정합성을 함께 측정해야 합니다.