INT 대 VARCHAR 기본 키: 오해를 불러일으키는 성능 문제
MySQL에서 INT와 VARCHAR 기본 키 사이의 선택에 대한 논쟁이 오랫동안 이어져 왔으며, 특히 특히 그렇습니다. 참조 목록에 관해. INT가 전통적인 선택인 반면, VARCHAR는 정보를 직접 제공할 수 있어 잠재적으로 JOIN의 필요성이 줄어들기 때문에 인기가 높아지고 있습니다.
이 문서는 INT와 VARCHAR 기본 키를 사용할 때 성능에 미치는 영향을 조사하는 것을 목표로 합니다. 특정 사용 사례: 미국 주 및 국가 코드와 같은 참조 목록.
벤치마크 결과
성능 차이를 평가하기 위해 다음으로 구성된 설정을 사용하여 일련의 벤치마크를 수행했습니다.
2개의 테이블 세트가 생성되었습니다: INT 테이블과 VARCHAR 테이블, 각각 인덱스화 및 인덱스화되지 않음. 그런 다음 테이블을 1,000만 행으로 채웠고 각 테이블에 대해 벤치마크 쿼리를 실행하여 특정 행을 검색하는 데 필요한 시간을 측정했습니다.
벤치마크 쿼리 실행 시간
벤치마크 쿼리의 실행 시간은 다음과 같습니다.
분석
결과는 참조 목록에 대해 INT와 VARCHAR 기본 키 간의 성능 차이가 최소화되는 것으로 나타났습니다. 벤치마크 쿼리 실행 시간은 키의 인덱싱 여부에 관계없이 서로 수백 밀리초 이내입니다.
이는 VARCHAR 기본 키를 사용하여 JOIN을 줄이는 데 따른 성능 이점이 추가로 상쇄된다는 것을 의미합니다. 가변 길이 데이터 저장에 따른 오버헤드
결론
벤치마크 기준 결과를 보면 미국 주 및 국가 코드와 같은 참조 목록의 경우 INT와 VARCHAR 기본 키 사이의 선택은 주로 성능보다는 선호도의 문제라는 결론을 내릴 수 있습니다. 성능 차이는 미미하며 데이터 일관성, 향후 확장성과 같은 기타 요소가 결정에 영향을 미칠 수 있습니다.
위 내용은 참조 목록의 INT 또는 VARCHAR 기본 키: 성능이 정말 중요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!