我有一个计算,我必须查询数据库。它类似于:
CM / 100 * CV / 100 * CL / 100
我想知道我是否会更好地查询它:
CM * CV * CL / 1000000
或者DB会为我做这个优化吗?
(我更喜欢用第一个 - 因为它对读者来说更清楚 - 但我想知道这是否会影响性能......)
答案 0 :(得分:0)
不,这种优化不是由MySQL完成的(如果任何其他数据库都这样做,我实际上会感到惊讶)。
我也怀疑,通过这种"优化"您将获得显着的性能提升,因此我的建议是优化其他地方。无论你喜欢哪种方式写下它。
您可以通过
自行检查EXPLAIN EXTENDED
SELECT ...
结果将是一个计划,MySQL将如何执行查询(如果它可以并将使用索引,等等)。在此之后你可以做到
SHOW WARNINGS;
在结果中,您将获得查询,优化器如何转换它以及MySQL将如何使用它。