소품집

[SQL] 반정규화의 필요성 본문

자격증/SQL

[SQL] 반정규화의 필요성

sodayeong 2021. 3. 9. 13:51
728x90

반정규화란?

정규화된 엔티티 속성, 관계에 대해 시스템 성능향상과 개발, 운영의 단순화를 위해 중복, 통합, 분리등을 수행하는 데이터 모델링 기법

언제 반정규화를 사용하는게 좋을까?

  1. 자주 사용되는 테이블에 접근하는 프로세스의 수가 많고 항상 일정한 범위만을 조회하는 경우
  2. 테이블에 대량 데이터가 있고 대량의 데이터 범위를 자주 처리하는 경우, 처리 범위를 줄이지 않으며 성능을 보장할 수 없는 경우
  3. 테이블에 지나친 조인이 걸려있는 경우

→ 데이터를 중복하여 성능을 향상시키기 위한 기법!

반정규화를 사용하는 이유

데이터 무결성이 깨질 수 있는 위험을 무릅쓰고 데이터를 중복하여 반정규화를 적용하는 이유는,데이터를 조회할 때

  1. 디스크 I/O 양이 많아서 성능이 저하
  2. 경로가 너무 멀어 조인으로 인한 성능 저하
  3. 칼럼을 계산하여 읽을 때 성능이 저하

될 것이 예상되는 경우는 반정규화를 수행한다.

반정규화의 기법

  1. 테이블 반정규화

  2. 칼럼 반정규화

  3. 관계 반정규화

728x90

'자격증 > SQL' 카테고리의 다른 글

[SQL] JOIN(조인)  (0) 2021.03.09
[SQL] 연산자 쓰임 및 우선순위  (0) 2021.03.09
[SQL] 문자유형 비교 방법  (0) 2021.03.09
[SQL] 옵티마이저 조인 (Optimizer join)  (0) 2021.03.09
2월달 목표!  (0) 2021.02.15
Comments