【发布时间】:2014-11-16 04:36:21
【问题描述】:
我有一个计算,我必须查询数据库。是这样的:
CM / 100 * CV / 100 * CL / 100
我想知道这样查询是否会更好:
CM * CV * CL / 1000000
或者数据库会为我做这个优化吗?
(我更喜欢使用第一个 - 因为它对读者来说更清楚 - 但我想知道这是否会影响性能......)
【问题讨论】:
标签: mysql optimization
我有一个计算,我必须查询数据库。是这样的:
CM / 100 * CV / 100 * CL / 100
我想知道这样查询是否会更好:
CM * CV * CL / 1000000
或者数据库会为我做这个优化吗?
(我更喜欢使用第一个 - 因为它对读者来说更清楚 - 但我想知道这是否会影响性能......)
【问题讨论】:
标签: mysql optimization
不,这种优化不是由 MySQL 完成的(如果任何其他数据库会这样做,我实际上会感到惊讶)。
我也怀疑,通过这种“优化”,您是否会获得显着的性能提升,因此我的建议是在其他地方进行优化。用你喜欢的方式写。
你可以自己检查
EXPLAIN EXTENDED
SELECT ...
结果将是一个计划,MySQL 将如何执行查询(如果可以并且将使用索引,等等)。在这之后你可以做
SHOW WARNINGS;
在结果中,您将看到查询、优化器如何转换它以及 MySQL 如何使用它。
【讨论】: