조회 성능 향상: 데이터를 조인 없이 한 테이블에서 바로 조회할 수 있어 읽기 성능이 크게 개선됩니다.
쿼리 단순화: 복잡한 조인을 사용하지 않아도 되므로 쿼리가 단순해집니다.
응답 시간 감소: 특히 대량의 데이터를 처리할 때 조인 연산을 줄여 응답 시간을 단축시킵니다.
서버 부하 감소: 복잡한 조인 연산이 줄어들어 데이터베이스 서버의 부하가 감소합니다.
분석 쿼리 최적화: 데이터 웨어하우스나 분석 시스템에서 복잡한 집계 연산의 성능을 높일 수 있습니다.
데이터 중복 증가: 동일한 데이터가 여러 테이블에 중복 저장되어 저장 공간이 증가합니다.
데이터 일관성 관리 어려움: 중복 데이터의 변경이 필요할 때 모든 위치에서 일관되게 업데이트해야 합니다.
갱신 비용 증가: 데이터 변경 시 여러 테이블을 동시에 업데이트해야 하므로 쓰기 연산의 비용이 증가합니다.
트랜잭션 복잡성 증가: 데이터 일관성을 유지하기 위한 트랜잭션 관리가 복잡해집니다.
데이터 무결성 위험: 중복 데이터가 서로 불일치할 경우 데이터 무결성이 깨질 수 있습니다.
스키마 변경의 어려움: 반정규화된 테이블의 구조 변경 시 영향 범위가 넓어 리팩토링이 어렵습니다.
데이터베이스 설계 시 정규화와 반정규화 사이의 균형을 찾는 것이 중요하며, 시스템의 특성과 요구사항에 따라 적절히 조합하는 전략이 효과적