Maison >base de données >tutoriel mysql >Clés primaires INT vs VARCHAR dans MySQL : le type de données a-t-il vraiment un impact sur les performances ?

Clés primaires INT vs VARCHAR dans MySQL : le type de données a-t-il vraiment un impact sur les performances ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-18 08:53:10737parcourir

INT vs. VARCHAR Primary Keys in MySQL: Does Data Type Really Impact Performance?

Impact sur les performances des clés primaires INT et VARCHAR dans MySQL

Le débat autour du choix optimal entre INT et VARCHAR comme clés primaires de référence Les listes dans MySQL ont été un sujet de discussion parmi les développeurs. Certains soutiennent que INT offre des performances supérieures en raison de sa nature numérique, tandis que d'autres postulent que VARCHAR fournit une présentation directe des informations référencées.

Pour résoudre ce problème, nous avons effectué un test de performances complet sur diverses configurations de tables et types de requêtes. Nos résultats indiquent qu'il existe une différence négligeable de performances entre les clés primaires INT et VARCHAR lorsqu'elles sont utilisées pour les listes de référence.

Configuration expérimentale

  • Spécifications du système : Intel® Core ™ Processeur i7-7500U à 2,70 GHz × 4, 15,6 Go de RAM, 148,6 Go de SSD drive
  • Version MySQL : Ver 14.14 Distrib 5.7.20, pour Linux (x86_64)
  • Tables : 6 tables créées avec des données INT (10), CHAR(6) et VARCHAR(63) types comme clés primaires, avec et sans index sur une autre colonne (myindex)

Procédure de test

  • 10 millions de lignes insérées dans chaque table
  • Exécution de la requête count(*) sur chaque table utilisant myindex comme filtre
  • Mesure du temps d'exécution à l'aide de BENCHMARK() function

Résultats

Table Name Time (sec)
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

Comme illustré dans le tableau ci-dessus, les temps d'exécution des requêtes étaient pratiquement identiques dans les six configurations de table, avec et sans index .

Conclusion

Nos résultats expérimentaux suggèrent que, pour le cas spécifique cas d'utilisation des listes de références, il n'y a pas de différence de performances significative entre l'utilisation de INT et VARCHAR comme clés primaires dans MySQL. Par conséquent, le choix entre les deux types de données peut être guidé par d'autres facteurs, tels que la clarté et la maintenabilité du modèle de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn