데이터베이스 반정규화: Difference between revisions
From CS Wiki
No edit summary |
m (맞춤법 수정) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[분류:데이터베이스]] | [[분류:데이터베이스]] | ||
;Denormalization | ;Denormalization | ||
;데이터베이스 성능 향상 등을 위해 정규화된 데이터를 의도적으로 정규형을 위배한 데이터 구조로 만드는 행위 | ;데이터베이스 성능 향상 등을 위해 정규화된 데이터를 의도적으로 정규형을 위배한 데이터 구조로 만드는 행위 | ||
== 주요 기법 == | ==주요 기법== | ||
* | |||
* 중복 칼럼 추가 | *'''테이블 합병''': 논리적으로 구분된 엔티티들을 하나의 테이블로 합친다. | ||
* 계산된 칼럼 추가 | **논리적 모델 상으론 구분되어야 하지만, Join 없이 하나의 테이블로 관리하는 것이 성능 측면에서 유리할 수 있다. | ||
* 코드 명칭 칼럼 추가 | *'''중복 칼럼 추가''': 게시판 테이블에 회원 정보를 일부 저장한다. | ||
**회원 정보 테이블과 Join 하여 불러올 수 있지만, 일부 중복 데이터만으로 Join 없이 처리한다면 더 유리할 수 있다. | |||
*'''계산된 칼럼 추가''': 평균치, 계량값을 특정 필드에 추가한다. | |||
**바로바로 계산할 수 있는 값이지만, 자주 참조되는 값이라면 DB에 저장해두는 것이 유리할 수 있다. | |||
*'''코드 명칭 칼럼 추가''': 남자 여자를 F, M이 아니라 그냥 남자, 여자로 저장한다. | |||
**출력 시 '남자' '여자'로 보여줘야 하는 경우 연산을 줄일 수 있다. | |||
==고려 사항== | |||
*반드시 정규화 수행 후 반정규화 수행 | |||
*튜닝 등 다른 개선 후 최후의 수단으로 수행 | |||
==같이 보기== | |||
*[[데이터베이스 정규화]] | |||
* [[데이터베이스 정규화]] |
Latest revision as of 23:24, 21 April 2022
- Denormalization
- 데이터베이스 성능 향상 등을 위해 정규화된 데이터를 의도적으로 정규형을 위배한 데이터 구조로 만드는 행위
주요 기법[edit | edit source]
- 테이블 합병: 논리적으로 구분된 엔티티들을 하나의 테이블로 합친다.
- 논리적 모델 상으론 구분되어야 하지만, Join 없이 하나의 테이블로 관리하는 것이 성능 측면에서 유리할 수 있다.
- 중복 칼럼 추가: 게시판 테이블에 회원 정보를 일부 저장한다.
- 회원 정보 테이블과 Join 하여 불러올 수 있지만, 일부 중복 데이터만으로 Join 없이 처리한다면 더 유리할 수 있다.
- 계산된 칼럼 추가: 평균치, 계량값을 특정 필드에 추가한다.
- 바로바로 계산할 수 있는 값이지만, 자주 참조되는 값이라면 DB에 저장해두는 것이 유리할 수 있다.
- 코드 명칭 칼럼 추가: 남자 여자를 F, M이 아니라 그냥 남자, 여자로 저장한다.
- 출력 시 '남자' '여자'로 보여줘야 하는 경우 연산을 줄일 수 있다.
고려 사항[edit | edit source]
- 반드시 정규화 수행 후 반정규화 수행
- 튜닝 등 다른 개선 후 최후의 수단으로 수행