MySQL块嵌套循环优化器开关会影响查询结果吗?

Dar*_*zik 5 mysql configuration query-optimization

如果我按照此处的set optimizer_switch='block_nested_loop=off'建议进行设置,我可以 100% 确定选项和得到相同的结果吗?onoff

我想将此选项更改为off,因为它可以将我的情况下的查询性能从 56 秒提高到 1 秒。

这个优化器开关有什么优点和缺点,安全吗?

Max*_*jer 4

是的,它很安全。告诉optimizer_switchMySql 如何搜索查询的答案。无论如何optimizer_switch设置,它都会为您的查询生成相同的结果(除非 MySql 中存在错误)。

使用的唯一缺点set optimizer_switch='block_nested_loop=off'是其他查询可能会变慢,因此您可能需要on在执行查询后将其设置回。