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

¿Tipos de datos MySQL de moneda criptográfica?

Hay una clara mejor opción de las tres que sugirió (más una de los comentarios).

GRANDE — usa solo 8 bytes, pero el mayor BIGINT solo tiene 19 dígitos decimales; si divide por 10, el valor más grande que puede representar es 9,22, que no es un rango suficiente.

DOBLE — solo tiene de 15 a 17 dígitos decimales de precisión; tiene todos los inconvenientes conocidos de la aritmética de punto flotante.

VARCHAR — utilizará más de 20 bytes si se trata de 18 decimales; requerirá conversiones string↔int constantes; no se puede ordenar; no se puede comparar; no se puede agregar en DB; muchas desventajas.

DECIMAL(27,18) – si usa MySQL, esto tomará 12 bytes (4 por cada grupo de 9 dígitos ). Este es un tamaño de almacenamiento bastante razonable y tiene suficiente alcance para admitir cantidades tan grandes como mil millones o tan pequeñas como un Wei. Se puede ordenar, comparar, sumar, restar, etc. en la base de datos sin pérdida de precisión.

Usaría DECIMAL(27,18) (o DECIMAL(36,18) si necesita almacenar valores realmente enormes) para almacenar valores de dinero en criptomonedas.