UUID PK, 진짜 느릴까? BIGINT와 성능 차이 정리
·
PostgreSQL
PK의 타입에 따른 비용에 대한 생각예전에 한 프로젝트에서 PK를 UUID 문자열로 사용한 적이 있었다. 설계 리뷰를 하던 중 한 팀원이 이런 말을 했던 게 아직도 기억난다. "PK를 문자열로 두면, 정수랑 비교할 때 코스트가 더 크지 않나요?" 그때 든 생각이 어차피 "인덱스 타니까 괜찮지 않을까?" "요즘 서비스들 다 UUID 쓰던데?" 라는 생각으로 넘어갔다. 그리고 작은 프로젝트라서 큰 문제가 있지는 않았지만 프로젝트를 진행하면서 알게 됐다. 이 질문은 단순히 문자열 vs 정수 비교 비용에 대한 이야기가 아니라, DB 인덱스 구조, 데이터 저장 방식, 그리고 성능 전반에 대한 문제라는 것을. PK는 단순한 식별자가 아니다. DB 입장에서 PK는 가장 중요한 인덱스이며, 어떤 타입을 선택하느냐에 따..