JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

정규화를 하면 성능이 떨어진다던데요 ?

JSCODE 박재성
JSCODE 박재성
2025-12-06
author
JSCODE 박재성
category
DB 설계
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 DB 설계 입문/실전
slug
does-normalization-hurt-performance
type
post
updatedAt
Dec 6, 2025 05:57 AM

✅ 정규화를 하면 성능이 떨어진다던데요 ?

특정 회사의 데이터베이스를 까보면 정규화가 안 되어 있는 설계를 종종 만난다. 그래서 DB 설계를 하신 분한테 왜 정규화를 적용시키지 않았냐고 물어보면 대부분 아래와 같이 답변한다.
  • 정규화를 지키면 테이블 개수가 많아져서 관리가 불편해요.
    • → 데이터 중복으로 인해 발생하는 단점들이 훨씬 크고 관리하기가 더 어렵다.
  • 정규화로 테이블을 나누면 조회할 때 JOIN을 해야 해서 쿼리가 복잡해져요.
    • → 이렇게 얘기하는 사람 치고 SQL문 잘 작성하는 사람 못봤다. 자신이 JOIN 문이 어려우니까 쿼리가 복잡하다고 얘기하는 것이다. SQL문에서 JOIN문은 기본적인 문법 중 하나다.
  • JOIN을 많이 하면 할수록 성능이 안 좋아져서 정규화를 안 했어요.
    • → 실제로 JOIN을 많이 했을 때 성능이 안 좋아지는 경우도 존재한다. 하지만 이렇게 얘기하는 사람치고 실제로 성능 측정해본 사람이 아무도 없다. ‘JOIN을 하면 성능이 안 좋지 않을까요?’라고 추측만 할 뿐이다. 성능 개선은 느려지기 전까지 최대한 안 건드리는 게 Best다. 설령 성능 개선을 해야 할 필요성을 느끼더라도 반드시 ‘측정’을 기반으로 해야 한다.
  • 귀찮아서요(?)
    • → 실력 없는 사람들이 자주 하는 변명이다.
 
 

✅ 실전 지침

특별한 이유가 없다면 무조건 정규화를 지켜서 DB 설계를 해라. 즉, 데이터 중복이 발생하지 않게끔 설계해라.
 
 
 
author
category
DB 설계
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 DB 설계 입문/실전
slug
type
series-footer
updatedAt
Dec 6, 2025 05:57 AM
📎
이 글은 비전공자도 이해할 수 있는 DB 설계 입문/실전 강의의 수업 자료 중 일부입니다.