정규화 & 역정규화

임혁진·2022년 9월 29일
0

로빌

목록 보기
2/15

https://inpa.tistory.com/entry/DB-%F0%9F%93%9A-%EC%A0%9C-1-2-3-%EC%A0%95%EA%B7%9C%ED%99%94-%EC%97%AD%EC%A0%95%EA%B7%9C%ED%99%94

문제제기: 데이터를 쿼리도 안하고 통계도 내지 않고 오로지 저장과 내보내기만 할 예정인데 정규화가 필요할까?

FK를 이용한 2차정규화는 크게 성능하락이 되지 않는다

https://dataonair.or.kr/db-tech-reference/d-guide/sql/?mod=document&uid=332

반정규화가 필요할 때

https://bhcboy100.medium.com/mysql-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%A0%95%EA%B7%9C%ED%99%94%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC-%EB%81%84%EC%A0%81%EB%81%84%EC%A0%81-d54c0e1cd89a
6. 단점을 미루어 볼때, 어떠한 상황에서 정규화를 해야하는가?

대표적으로 JOIN 연산을 많이 해야 하는 DB의 경우 반정규화 전략이 필요하다.

자주 사용되는 테이블에 접근하는 과정의 수가 많고 항상 일정한 범위만을 조회하는 경우
성능 상 이슈가 발생했을 경우(연산하는 과정에서.. 등)
테이블에 지나치게 많이 JOIN을 사용하게 되어 데이터를 조회하는 것이 기술적으로 어려울 경우

profile
TIL과 알고리즘

0개의 댓글