Mysql
 sql >> Base de données >  >> RDS >> Mysql

Existe-t-il une VRAIE différence de performances entre les clés primaires INT et VARCHAR ?

Vous faites valoir que vous pouvez éviter un certain nombre de requêtes jointes en utilisant ce qu'on appelle un natural clé au lieu d'une clé de substitution . Vous seul pouvez évaluer si l'avantage de cela est significatif dans votre application.

Autrement dit, vous pouvez mesurer les requêtes de votre application qui sont les plus importantes pour être rapides, car elles traitent de gros volumes de données ou sont exécutées très fréquemment. Si ces requêtes bénéficient de l'élimination d'une jointure et ne souffrent pas de l'utilisation d'une clé primaire varchar, faites-le.

N'utilisez aucune stratégie pour toutes les tables de votre base de données. Il est probable que dans certains cas, une clé naturelle est préférable, mais dans d'autres cas, une clé de substitution est préférable.

D'autres personnes font valoir qu'il est rare dans la pratique qu'une clé naturelle ne change jamais ou n'ait pas de doublons, donc les clés de substitution en valent généralement la peine.