存储小小数MySQL

时间:2011-10-23 21:53:20

标签: mysql decimal

我需要存储大量小的小数字(小数点前3位,小数点后6位)。

根据我对规范的理解,这将需要8个字节。我可以将数字存储为int,只需要4个字节,并在使用固定比例因子检索后进行转换。

有没有更好的选择而不是使用int,我不能轻易对数字做任何算术?

感谢。

2 个答案:

答案 0 :(得分:2)

我不认为这是正确的。 DECIMAL(9,6)应该做的工作。 根据mysql 5.1手册,它将需要3个字节的2个字节和6个数字的3个字节。恕我直言,这5个字节总共不是8个字节。 因此,与您提出的整数“黑客”相比,您不需要更多的内存。在你的情况下,我肯定会使用小数。

答案 1 :(得分:-1)

不,如果您使用MySQL的“int”数据类型,它将无效。这是因为整数不能处理小数精度。

根据您的问题,您应该使用“固定点数据类型”,这将使您在大型计算中受益匪浅。货币数据。在MySQL中,所需的数据类型为“DECIMAL”,您可以在其上阅读更多内容here

在你的情况下,正确的语法将是“DECIMAL (9, 6)”,其中9表示值最多可存储9位数,其中6位数位于小数点后面,3位数位于小数点。

希望它有所帮助。

相关问题