TUTORIAL
반정규화 전략 가이드: 언제, 왜, 어떻게 반정규화해야 하는가
데이터베이스 반정규화의 모든 것. 성능을 위한 전략적 반정규화 방법과 주의사항을 실전 예제로 배웁니다.
럿지 AI 팀2025-01-0812분
반정규화란?
정규화의 역! 의도적으로 중복을 허용하여
조회 성능을 향상시키는 전략입니다.
정규화
중복 제거, JOIN 필요
쓰기 빠름, 읽기 느림
반정규화
중복 허용, JOIN 감소
읽기 빠름, 쓰기 느림
언제 반정규화?
1
JOIN이 5개 이상
조회 시간 급증
2
집계 쿼리 느림
COUNT, SUM 반복
3
읽기:쓰기 = 9:1
읽기 위주 시스템
반정규화 패턴
중복 컬럼 추가
-- orders에 member_name 복사 ALTER TABLE orders ADD member_name VARCHAR(50); -- JOIN 없이 조회 가능!
집계 테이블
CREATE TABLE member_stats ( member_id INT PRIMARY KEY, order_count INT, total_spent DECIMAL(12,2) );
캐시 테이블
-- 대시보드용 통계 (매시간 갱신) CREATE TABLE dashboard_cache (...);
성능 비교
5개 JOIN
3초
정규화 상태
단일 테이블
0.001초
반정규화 후
주의사항
!
데이터 불일치 가능 (트리거로 동기화)
!
쓰기 성능 저하 (트레이드오프)
관련 태그
#반정규화
#데이터베이스
#성능최적화
#DB설계
#SQL