반응형
슈퍼 타입/서브 타입 모델의 성능 고려 방법
- 업무를 구성하는 데이터 특징을 공통과 차이점의 특징을 고려하여 효과적으로 표현할 수 있음.
- 슈퍼 타입 : 공통 부분을 슈퍼 타입으로 모델링
- 서브 타입 : 공통으로부터 상속받아 다른 엔티티와 차이가 있는 속성만 모델링
- 논리적 데이터 모델에서 주로 이용(=분석 단계에서 많이 쓰임)
슈퍼/서브 타입 데이터 베이스 성능 저하 원인 3가지
- 트랜잭션은 항상 일괄 처리 & 테이블 개별 유지 => Union 연산에 의해 성능 저하
- 트랜잭션은 항상 서브타입 개별 처리 & 테이블 하나로 통합 => 불필요하게 많은 양의 데이터가 집약되어 성능 저하
- 트랜잭션은 항상 슈퍼+서브 타입 공통 처리 & 테이블 개별 유지 => 조인에 의해 성능 저하
슈퍼/서브 타입 변환 기준
- 데이터량이 소량일 경우 : 성능에 영향을 미치지 않기 때문에 데이터 처리 유연성을 고려하여 가급적 1:1 관계를 유지하는 것이 바람직하다.
- 데이터량이 많아지는 경우 : 트랜잭션이 해당 테이블에 어떻게 발생되는지에 따라 3가지 변환 방법을 상황에 맞게 처리 -> 전부 개별 테이블로 구성, 슈퍼+서브 타입 테이블로 구성, 하나의 테이블로 구성
인덱스 특성을 고려한 PK/FK 데이터베이스 성능 향상
일반적인 프로젝트에서 PK, FK 컬럼 순서의 중요성을 인지 못해서 데이터 모델링된 그 상태대로 DDL을 생성하여 성능이 저하되는 경우가 빈번함.
- 인덱스 중요성 : 데이터 조작 시 가장 효과적으로 처리될 수 있는 접근 경로 오브젝트. 앞쪽에 위치한 속성값(컬럼)이 비교자로 있어야 인덱스가 좋은 효율을 냄.
- PK, FK 설계 중요성 : 데이터 접근 시 접근 경로 제공, 설계 단계 마지막에 컬럼 순서를 조정
- PK 순서 중요성 : 물리적 모델링 단계에서 스스로 생성된 PK 이외에 상속되는 PK 순서도 중요하다.
- FK 순서 중요성 : 조인을 할 수 있는 수단이 된다.(=경로), 조회 조건 고려해서 반드시 인덱스 생성
인덱스 엑세스 범위 좁히는 가장 좋은 방법?
-PK가 여러 개일 때, WHERE 절에서 사용하는 조건용 컬럼들이 우선순위가 되어야함.
- '=' EQUAL 조건(동등 조건)에 있는 컬럼이 제일 앞으로
- BETWEEN, IN(범위 조건)에 있는 컬럼들이 그 다음 순위
- 나머지 PK는 그 뒤에 아무렇게나.
반응형
'💻 my code archive > 📝Etc.' 카테고리의 다른 글
정보처리기사 필기 - 자주 틀린 문제, 개념 정리 (업뎃중) (0) | 2022.06.29 |
---|---|
구글 애드센스 핀(PIN)번호 우편물 도착 & 등록 방법 (0) | 2022.05.30 |
[SQLD / 자격증 공부] 요약 정리 5. 반정규화 기법 (0) | 2022.05.08 |
[SQLD / 자격증 공부] 요약 정리 4. 성능 데이터 모델링, 정규화, 반정규화 (0) | 2022.05.07 |
[SQLD / 자격증 공부] 요약 정리 3. 관계(Relationship), 식별자(Identifiers) (0) | 2022.05.07 |