实数类型
实数是带有小数部分的数字。然而,它们不仅适用于带小数的数字,也可以使用 DECIMAL 存储比 BIGINT 还大的整数。MySQL 既支持精确类型,也支持不精确类型。
类型
长度(比特)
FLOAT
32
DOUBLE
64
DECIMAL
/
浮点类型通常使用比 DECIMAL 更少的空间来存储相同范围的值。
FLOAT 列使用 4 字节的存储空间。
DOUBLE 占用 8 字节,比 FLOAT 具有更高的精度和更大的值范围。
与整数类型一样,你只能选择存储类型,MySQL 会使用 DOUBLE 进行浮点类型的内部计算。
由于额外的空间需求和计算成本,应该尽量只在对小数进行精确计算时才使用 DECIMAL——例如,存储财务数据。但在一些大容量的场景,可以考虑使用 BIGINT 代替 DECIMAL,将需要存储的货币单位根据小数的位数乘以相应的倍数即可,这样可以同时避免浮点存储计算不精确和 DECIMAL 精确计算代价高的问题。
最后更新于