반정규화는 출발점이 아니라 예외적 최적화입니다. 먼저 정규화된 상태를 만들고, 성능 병목이 측정으로 확인된 경우에만 좁게 적용한 뒤 운영 규칙을 같이 붙입니다.
중복을 줄이고 데이터 역할을 분리한 구조에서 시작합니다. 반정규화는 기본 설계의 대체재가 아닙니다.
느리다는 느낌이 아니라 실제 쿼리 비용, 응답 시간, 스캔 범위를 보고 판단합니다. 측정 없이는 적용하지 않습니다.
전체 스키마를 바꾸지 않고 필요한 쿼리·테이블에만 적용합니다. JOIN 제거, 집계 즉시 제공처럼 목적이 분명해야 합니다.
적용 자체보다, 그 뒤에 무엇을 제한하고 어떻게 맞추며 왜 남겼는지가 유지보수를 좌우합니다.