[내용정리] 아는 만큼 보이는 데이터베이스 설계와 구축

염정민·2020년 4월 17일
0

PK 컬럼 순서의 중요성

FULL SCAN

테이블의 PK순서를 조정하지 않은 채 테이블을 생성하게 되면 테이블 조회 시 FULL SCAN을 하게되어 성능저하를 유발한다(잘못된 index 순서). 따라서 PK 순서를 변경하여 index가 효율적으로 이용될 수 있도록 설계하자.

인덱스의 비효율적 이용

WHERE 절에서 DATA를 범위를 지정하여 가져올때 식별가능하고 더 좁은 범위를 조회하여 성능을 향상 시킬 수 있다.

+) FULL SCAN의 경우 실행계획을 보고 쉽게 수정하는 반면 범위조회의 경우 그렇지 않아 인덱스의 정렬구조를 이해하고 인덱스 범위를 최소화 하는 방향으로 설계해야한다.

식별자와 비식별관계자 설정

식별자관계만으로 연결된 데이터 모델

PK속성이 지속적으로 증가할수 밖에 없는구조로 복잡하고 오류의 가능성이 있다.

비식별자관계만으로 연결된 데이터 모델

SQL 구문에 조인이 걸리면서 복잡성이 증가하고 성능이 저하될 수 있다.

+) 부모, 자식 테이블 관계분석 -> 관계의 강/약 분석 -> 자식테이블 독립 PK 필요 여부 -> PK 속성 단순화

profile
developer

0개의 댓글