我有一个计算,我必须查询数据库。类似于:
CM / 100 * CV / 100 * CL / 100
我想知道这样查询是否会更好:
CM * CV * CL / 1000000
或者数据库会为我做这个优化吗?
(我更喜欢使用第一个 - 因为它对读者来说更清楚 - 但我想知道这是否会影响性能......)
最佳答案
不,这种优化不是由 MySQL 完成的(如果任何其他数据库会这样做,我实际上会感到惊讶)。
我也怀疑,通过这种“优化”,您是否会获得显着的性能改进,因此我的建议是在其他地方进行优化。按照您喜欢的方式编写。
您可以自行检查
EXPLAIN EXTENDED
SELECT ...
结果将是一个计划,MySQL 将如何执行查询(如果可以并且将使用索引,等等)。之后你可以做
SHOW WARNINGS;
在结果中您将看到查询、优化器如何转换它以及 MySQL 将如何使用它。
关于mysql - 琐碎算术计算的数据库优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25970230/