MySQL Math —— INTEGER 和 FLOAT 哪个更快?

标签 mysql performance math floating-point integer

我正在执行一些查询,需要大量连接行,并将其中的一些字段添加并相乘。

我知道这有点模糊,但我的问题是哪种数字数据类型对于这些类型的操作最快?

既然 DOUBLE 是 8 个字节,而 FLOAT 是 4 个字节,那么 FLOAT 会比 DOUBLE 更快吗?

INT 会比 FLOAT 更快吗(即使它们都是 4 字节)?

DECIMAL 会比 FLOAT 更快吗?

这里有更多信息:我正在解决的问题允许我选择将“浮点”数字存储为 BIGINTEGER 的...我可以在插入数字之前将其乘以 100000。如果 BIGINT 的数学运算比 FLOAT 更快,我愿意这样做。

谢谢。

最佳答案

字节大小影响数据检索,而不是基于它的计算。如有必要,索引可以改进这一点,但会减慢 UPDATE/INSERT/DELETE 语句的速度。

我建议选择反射(reflect)您将要使用的操作的数据类型。如果您根本不需要精度,则没有理由考虑使用 DECIMAL 或 FLOAT。

关于MySQL Math —— INTEGER 和 FLOAT 哪个更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3285660/

相关文章:

python - 更改变量时公式无法正确翻译

java - 循环产生意想不到的结果

mysql - 无法理解如何在基本 MYSQL 解释示例中摆脱表扫描

javascript - Nodejs npm-migration 通过一次迁移创建多个表

php - 类似于 MySQLi 的 PDO 获取数组

c - C中字母表排序组合的多线程计算

mysql - 如何在不重复子查询的情况下选择所有这些数据?

c# - 这是避免不断创建对象的好习惯吗?

javascript - CSS 与 JavaScript 水平滑动/过渡

python - Python 中的直角锐角三角形和钝角三角形