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

Performances MySQL du champ varchar unique par rapport au bigint unique

Votre valeur hexadécimale est-elle un GUID ? Même si j'avais l'habitude de m'inquiéter des performances d'éléments aussi longs que les index, j'ai constaté que sur les bases de données modernes, la différence de performances, même sur des millions d'enregistrements, est assez insignifiante.

Un problème potentiellement plus important est la mémoire consommée par l'index (16 octets contre 4 octets int, par exemple), mais sur les serveurs que je contrôle, je peux allouer cela. Tant que l'index peut être en mémoire, je trouve qu'il y a plus de surcharge provenant d'autres opérations que la taille de l'élément d'index ne fait pas de différence notable.

En revanche, si vous utilisez un GUID, vous bénéficiez d'une indépendance vis-à-vis du serveur pour les enregistrements créés et d'une plus grande flexibilité dans la fusion de données sur plusieurs serveurs (ce qui m'intéresse, car notre système agrège les données des systèmes enfants).

Il y a un graphique sur cet article qui semble étayer mes soupçons :Mythes, GUID vs Autoincrement