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

mysql , bigint ou decimal pour stocker des valeurs> 32 bits mais moins de 64 bits

À mon avis, bigint serait mieux. Il est stocké sous la forme d'un entier que MySQL comprendra nativement sans aucune conversion requise, et sera donc (j'imagine) plus rapide à manipuler. Vous devez donc vous attendre à ce que MySQL soit légèrement plus efficace si vous utilisez bigint.

Selon cette page de manuel , les 9 premiers chiffres de votre numéro seront stockés dans un bloc de quatre octets et les chiffres restants (vous avez besoin jusqu'à 12) seront stockés dans un bloc de deux octets. Cela signifie que votre colonne occupe 6 octets par ligne, contre 8 octets pour bigint. Je suggérerais qu'à moins que a) vous ne stockiez un nombre de lignes vraiment obscène, de sorte que l'espace occupé soit une préoccupation sérieuse, et b) vous n'ayez besoin d'interroger que très peu les données en question, vous devriez allez avec bigint.