DB에서 Primary Key
PK는 여러가지 생성방법을 가질 수 있다.
MySQL에서 인덱스 (클러스터 인덱스, 세컨더리 인덱스)에는 모두 Primary Key를 가지고 있다.
MySQL에서 클러스터 키를 PK로 사용하고 이에 따라 데이터 위치가 바뀐다.
구분 | Auto Increment | UUID |
---|---|---|
장점 | - 빠르다 - key를 한눈에 보기 쉽다. | - UUID를 어디서든지 만들고 고유성을 보장할 수 있어 분산 시스템에 용이하다. |
단점 | - 분산 시스템에 적합하지 않다. (서로 다른 DB에 저장하는 key가 같은 데이터를 처리하기 힘듦) - 키를 예측하기 쉽다. | - 성능의 저하를 일으킨다 (클러스터 인덱스의 정렬 비용이 많이 든다) - 사람이 보기 힘들다. - 필요 이상으로 공간을 많이 차지한다. |