> 데이터 베이스 > MySQL 튜토리얼 > 참조 목록의 INT 또는 VARCHAR 기본 키: 성능이 정말 중요합니까?

참조 목록의 INT 또는 VARCHAR 기본 키: 성능이 정말 중요합니까?

Patricia Arquette
풀어 주다: 2024-12-21 12:03:10
원래의
151명이 탐색했습니다.

INT or VARCHAR Primary Keys for Reference Lists: Does Performance Really Matter?

INT 대 VARCHAR 기본 키: 오해를 불러일으키는 성능 문제

MySQL에서 INT와 VARCHAR 기본 키 사이의 선택에 대한 논쟁이 오랫동안 이어져 왔으며, 특히 특히 그렇습니다. 참조 목록에 관해. INT가 전통적인 선택인 반면, VARCHAR는 정보를 직접 제공할 수 있어 잠재적으로 JOIN의 필요성이 줄어들기 때문에 인기가 높아지고 있습니다.

이 문서는 INT와 VARCHAR 기본 키를 사용할 때 성능에 미치는 영향을 조사하는 것을 목표로 합니다. 특정 사용 사례: 미국 주 및 국가 코드와 같은 참조 목록.

벤치마크 결과

성능 차이를 평가하기 위해 다음으로 구성된 설정을 사용하여 일련의 벤치마크를 수행했습니다.

  • Intel® Core™ i7-7500U CPU @ 2.70GHz × 4
  • 15.6GiB RAM
  • Ubuntu 16.04 64비트
  • MySQL Ver 14.14 Distrib 5.7.20

2개의 테이블 세트가 생성되었습니다: INT 테이블과 VARCHAR 테이블, 각각 인덱스화 및 인덱스화되지 않음. 그런 다음 테이블을 1,000만 행으로 채웠고 각 테이블에 대해 벤치마크 쿼리를 실행하여 특정 행을 검색하는 데 필요한 시간을 측정했습니다.

벤치마크 쿼리 실행 시간

벤치마크 쿼리의 실행 시간은 다음과 같습니다.

  • jan_int: 21.30 초
  • jan_int_index: 18.79초
  • jan_char: 21.70초
  • jan_char_index: 18.85초
  • jan_varchar: 21.76초
  • jan_varchar_index: 18.86초

분석

결과는 참조 목록에 대해 INT와 VARCHAR 기본 키 간의 성능 차이가 최소화되는 것으로 나타났습니다. 벤치마크 쿼리 실행 시간은 키의 인덱싱 여부에 관계없이 서로 수백 밀리초 이내입니다.

이는 VARCHAR 기본 키를 사용하여 JOIN을 줄이는 데 따른 성능 이점이 추가로 상쇄된다는 것을 의미합니다. 가변 길이 데이터 저장에 따른 오버헤드

결론

벤치마크 기준 결과를 보면 미국 주 및 국가 코드와 같은 참조 목록의 경우 INT와 VARCHAR 기본 키 사이의 선택은 주로 성능보다는 선호도의 문제라는 결론을 내릴 수 있습니다. 성능 차이는 미미하며 데이터 일관성, 향후 확장성과 같은 기타 요소가 결정에 영향을 미칠 수 있습니다.

위 내용은 참조 목록의 INT 또는 VARCHAR 기본 키: 성능이 정말 중요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿