当前位置: 首页 > 面试题库 >

加密货币MySQL数据类型?

沈运恒
2023-03-14
问题内容

在SQL数据库中存储货币值时有关数据类型的臭名昭著的问题。

但是,在这些艰难的时期,我们现在拥有的货币最多可保留18位小数(感谢ETH)。

现在,这重新提出了经典论点。

想法

选项1 BIGINT使用一个大的整数,以节省的实际价值,然后存储货币有多少位小数有(简单地将A通过10^B中译本)?

选项2 Decimal(60,30)将数据类型存储在一个大的十进制数中,这不可避免地会占用大量空间。

选项3 VARCHAR(64)html" target="_blank">字符串形式存储。这会对性能产生影响。

我想知道人们的想法,以及他们在处理加密货币值时正在使用什么。我为最好的方法感到困惑。


问题答案:

在您建议的三个中,有一个明显的最佳选择(在注释中加上一个)。

BIGINT 仅使用8个字节,但最大的BIGINT只有19个十进制数字; 如果除以10 18,则可以代表的最大值是9.22,该范围还不够。

DOUBLE ”仅具有15’-17的十进制数字;具有浮点运算的所有已知缺点。

*如果您要处理的小数点后18位,则 *VARCHAR 将使用20+字节;
将需要不断的string鈫攊nt转换;无法排序;无法比拟的;不能在数据库中添加;许多缺点。

DECIMAL(27,18)
‘(如果使用MySQL,则将占用12个字节(每9个数字组为4个字节)。这是一个相当合理的存储大小,并且具有足够的范围来支持多达十亿个或小至一个Wei的数量。可以在数据库中对它进行排序,比较,添加,减去等,而不会损失精度。

我会使用DECIMAL(27,18)(或者DECIMAL(36,18)如果您需要存储真正的巨大价值)存储加密货币货币价值。



 类似资料:
  • 这是一篇加密货币的入门文章,是写给没有接触过比特币、加密货币的小伙伴的入门指南,接下来的内容,都将与加密货币相关。 前言 “加密货币就是货币”听起来挺“白痴的”。想想背后的意思,言外之意就是“加密货币可能不是货币”,就非常值得玩味了。事实上,在我接触的很多朋友当中,一开始认为后者的更多。包括我自己,也是经过探究一段时间之后,才认定这个结论的。 惯性定律不仅存在于物质世界,也存在于人类的认知世界。人

  • 加密货币是一种数字资产,可用于在各方之间交换价值。它使用强大的加密技术来保护金融交易并控制该货币的新单位的创建并验证资产的转移,它不是物理上存在的。 与美元,日元或人民币等法定货币等政府货币不同,所有这些货币均由政府印制。因此,存在一个集中的机构,它创造了数千或数百万或更多的货币。使用像比特币这样的加密货币,这些实际上是由使加密货币起作用的相同数学公式创建的。因此,加密货币使用分散控制,其通过作为

  • 本文向大家介绍什么是加密货币?相关面试题,主要包含被问及什么是加密货币?时的应答技巧和注意事项,需要的朋友参考一下 回答:加密货币是一种数字资产,可以用作使用加密功能进行金融交易的交换媒介。加密货币利用区块链技术获得透明度,去中心化和不变性。加密货币可使用公钥和私钥在两方之间直接发送,而手续费极低。

  • 货币报价最新数据 接口: currency_latest 目标地址: https://currencyscoop.com/ 描述: 获取货币报价最新数据 限量: 单次返回指定货币的最新报价数据-免费账号每月限量访问 5000 次 输入参数 名称 类型 必选 描述 base str Y base="USD" api_key str Y api_key="Please put your api key

  • 众所周知,典型的浮点数据类型(即和

  • 问题内容: 我想在MySQL数据库中存储许多记录。它们全部包含金钱价值。但是我不知道每个数字将插入多少个数字。 为此,我必须使用哪种数据类型? VARCHAR 或 INT (或其他数字数据类型)? 问题答案: 由于资金需要精确的表示,因此不要使用只近似的数据类型。您可以将定点数字数据类型用于 是精度(值的总长度,包括小数位) 是小数点后的位数 请参见MySQL数值类型: 当保留精确度非常重要时,例