什么是在MySQL中存储浮点数的最佳数据类型?将浮点数存储为INT?
我可以以某种方式将它存储为INT吗?
我在想VARCHAR是我的最佳选择,但是如果你们知道更好的东西,我将不胜感激。
Thanx提前!
什么是在MySQL中存储浮点数的最佳数据类型?将浮点数存储为INT?
我可以以某种方式将它存储为INT吗?
我在想VARCHAR是我的最佳选择,但是如果你们知道更好的东西,我将不胜感激。
Thanx提前!
为什么要将浮点存储为int? MySQL和编程语言一样有十进制和浮点类型。
我假设你有一个很好的理由。要存储浮点数为int,你可以尝试的几件事情:
如果你有一个平坦的格式编码浮点数我建议你在看看http://en.wikipedia.org/wiki/IEEE_754-2008
取决于什么类型的浮点数你存储的关于MySQL的数字类型,所有的细节可以在这里找到:
http://dev.mysql.com/doc/refman/5.5/en/numeric-types.html
十进制:对于货币,你是因为它的精确,你不会得到奇怪的小数点算术四舍五入应该使用十进制。
INT:是的,你可以存储浮点数作为整数来获得性能。例如,只要显示时总是/ 100,货币可以以19.56美元或1956美元的价格存储,而会计软件经常这样做。此外,只要在数据库之外除以10,000,000,则可以将整数的纬度/经度存储为322274063,-1109654800 = 32.2274063,-110.9654800。
FLOAT/DOUBLE:然后当然有很长的和双倍的。性能不是优先或小数位数变化时使用它们。
SO规则:如果性能是一个问题,你知道的小数位总是固定的长度,你可以轻松地存储的INT来存储浮动。
mysql的FLOAT,REAL和DOUBLE_PRECISION类型有什么问题? – Habbie 2010-09-30 14:35:04
它没有什么不对,只是不知道他们,我主要是前端开发人员,而不是后端,但我给了它一个镜头,因此所有的愚蠢问题,谢谢你谦恭我! :) – Odyss3us 2010-09-30 14:45:13
@ user270311浮点数的用法很少。你为什么要使用它? – 2010-09-30 15:02:51