我只是有一个相当复杂的查询,我的工作,它需要8秒钟运行。EXPLAIN 显示了一个奇怪的表顺序,即使使用 FORCE INDEX 提示,我的索引也没有全部使用。我偶然发现了 STRAIGHT _ JOIN 连接关键字,并开始用它替换一些 INNER JOIN 关键字。我注意到速度有了很大的提高。最后,我只是将这个查询的所有 INNER JOIN 关键字替换为 STRIGHT _ JOIN,现在运行时间为0.01秒。
我的问题是什么时候使用 STRAIGHT _ JOIN,什么时候使用 INNER JOIN?如果您正在编写好的查询,是否有理由不使用 STRIGHT _ JOIN?