데이터 모델링/04. 물리 모델링
성능을 고려한 데이터 구조 (5)
developer-soyun
2024. 11. 19. 17:03
집계/요약 테이블 추가
처리할 데이터 양을 줄이는 방법
- 대량의 데이터를 실시간으로 읽어, 일부 데이터를 집계하는 경우 집계 테이블을 추가할 수 있다
컬럼 추가
- 성능 문제 때문에 정규화의 장점을 일부 포기하고, 반정규화하거나 중복 컬럼을 추가해야 하는 경우도 있다
- 부모 테이블에서 인조 식별자를 기본키로 설계한 경우, 기본키를 상속받으면서 본질 식별자에 해당하는 컬럼 추가
- 자주 조회 조건으로 사용하는 컬럼을 자식 테이블에 추가하는 경우
중복컬럼 추가
- 양쪽 테이블에 분산된 조회 조건을 한 쪽 테이블에서 같이 체크하여 처리범위를 줄일 수 있도록 데이터 구조를 변경
부모 테이블 중복 컬럼 추가
- 부모 테이블에서 자식 테이블의 집계된 값이나 최종 데이터 값을 가지고 있다면, 매번 자식 테이블에서 최소/최대, 건수/합계, 최종 데이터 값을 추출할 필요가 없으므로 성능이 향상된다
테이블 수직분할(컬럼을 자른다)
- 테이블 데이터 중에서 일부 컬럼 데이터만 따로 처리하는 경우가 많다면, 같이 사용하는 컬럼들끼리 묶어 다른 테이블로 분리할 수 있다