sql >> Base de Datos >  >> RDS >> Mysql

mysql, bigint o decimal para almacenar valores de> 32 bits pero menos de 64 bits

En mi opinión, bigint sería mejor. Se almacena como un número entero que MySQL entenderá de forma nativa sin necesidad de conversión y, por lo tanto, (me imagino) será más rápido en la manipulación. Por lo tanto, debe esperar que MySQL sea marginalmente más eficiente si usa bigint.

Según esta página de manual , los primeros 9 dígitos de su número se almacenarán en un bloque de cuatro bytes y los dígitos restantes (necesita hasta 12) se almacenarán en un bloque de dos bytes. Eso significa que su columna ocupa 6 bytes por fila, a diferencia de los 8 bytes de bigint. Sugeriría que a menos que a) vaya a almacenar una cantidad de filas realmente obscena, de modo que el espacio ocupado sea una preocupación seria, y b) necesite consultar muy poco los datos en cuestión, debe ve con bigint.