我正在做一些需要大量连接行的查询,并将其中的一些字段添加并相乘。
我知道这有点模糊,但我的问题是哪种数字数据类型对于这些类型的操作来说最快?
FLOAT会比DOUBLE更快,因为DOUBLE是8个字节,而FLOAT是4吗?
INT是否比FLOAT快(即使它们都是4个字节)?
DECIMAL会比FLOAT更快吗?
以下是更多信息:我正在解决的问题允许我选择将“浮动”数字存储为BIGINTEGER ...我可以在插入之前将数字乘以100000。如果BIGINT的数学速度比FLOAT快,我愿意这样做。
感谢。
答案 0 :(得分:3)
字节大小影响数据检索,而不是基于它的计算。如果需要,索引可以改进这一点,但会减慢UPDATE / INSERT / DELETE语句。
我建议选择反映您将要使用的操作的数据类型。如果您根本不需要精度,则没有理由考虑使用DECIMAL或FLOAT。
答案 1 :(得分:0)
通常,整数运算更快(更准确)。由于我实际上并没有在MySQL中工作,所以我不能肯定 - 但我肯定会赞成整数。