DB 이야기/DB 도메인 설계

1] PK 컬럼 순서

김푸른초푸른 2020. 8. 7. 22:26

1. 데이터베이스 생성 프로세스

* 분석 -> 설계 -> 구축 -> 테스트 -> 이행 

 

2. pk 컬럼 순서 무시할 경우

=> pk 컬럼은 group by 한 컬럼들 전부 넣거나 

중복없는 명확한 구분자가 필요하다

 

1) 인덱스 구성에서 의도하지 않은 순서의 Primary Key Unique Index가 생성 

* Unique Index : 해당 칼럼 동일값 X / 인덱스 자동생성 /  NULL 삽입 가능
   Primary Key  : Unique Index + NOT NULL,

2) 조회  sql시 성능저하

3) 많은 인덱스가 생성되어 불필요한 내부 작업이 증가해 성능에 악영향 

 

3. PK구성과 인덱스 이용

= where 절에서 프로그램처럼 순서대로 읽기에 1순위 컬럼과 2순위 컬럼 등으로 구분이 된다. 

같은 조건이라도 읽는 순서에 따라 인덱스 스캔 상태가 바뀔 수 있다. 

 

4.  인덱스의 비효율적 이용

= pk 순서에 따른 검색 범위가 달라질 수  있다. 

이것도 앞에 먼저 적는 컬럼 순대로 검색 범위가 결정된다.

 

5. pk 순서를 효율적으로 만들기

= 컬럼 순서 하나로 성능 저하되는 일을 막으려면, 설계 단계를 마치기 전,

데이터 모델링 수행시 pk 컬럼 순서를 반드시 검토  

 

 

 

출처 : 아는만큼 보이는 데이터베이스 설계와 구축