UUID 와 Auto Increment

박건태·2023년 8월 1일
0

MySQL

목록 보기
3/3

문득 uuid와 auto increment중 무엇을 primary key로 사용할지에 대한 의문이 들었다. 평소에는 배운대로 아무 생각없이 uuid를 사용했었는데, 자료를 조금 찾아보니 굳이 사용할 필요없을 수도 있다는 생각이 들었다.

일단 uuid란?

간단하게 말하면 고유값을 만들어준다고 생각하면 된다.
약 10의 38승까지 생성 가능하다고 하니 유일함을 추구한다는데에 어느정도 일리가 있다.

auto increment는 말 그대로 숫자가 하나씩 증가하게 된다.

장단점은 무엇?

uuid는 정렬시 비효율적이다라는 점과 성능에 저하를 일으킬 수 있다는 점이 있고, 가시성이 좋지 않다라는 점이 있다.

auto increment는 만약 분산 개발환경일시 동일한 id가 존재할 가능성이 있어서 통합개발시 불편할 수 있다라는 점이 있다.

당연히 장점은 그 반대로 uuid는 분산개발시 동일 id가 존재할 확률이 거의 0이므로 편하게 개발이 가능하고, auto increment는 속도가 빠르고 눈에 보기 편하다는 장점이 있다.

결론적으로는 개인작업처럼 작은 단위에 개발에서는 auto increment를 사용하는게 맞는거 같고, 아니면 두가지를 같이 사용하는 방법도 있다고 한다.


근데 생각해보니까 검색시 정렬이나 기본데이터 리스트 제공해줄때 id값으로 정렬하는 경우가 없지 않나... 이름이나 날짜 등으로 정렬하고 그 컬럼값에 인덱스 부여하면 검색속도도 빨라서 uuid를 사용해도 상관없지 않을까라는 생각이 들긴하는데..(보안등급도 uuid가 더 높을거 같고)

더 공부해봐야겠다.

1개의 댓글

comment-user-thumbnail
2023년 8월 1일

이런 유용한 정보를 나눠주셔서 감사합니다.

답글 달기