我有一个跨多个性能较差的表连接的查询,因此我使用试错技术来创建复合索引,以尝试根据我正在过滤的列改进性能,但我没有得到想要的结果。我正在使用 EXPLAIN 计划来尝试确定合适的索引策略。
任何人都可以建议另一种可以帮助解决此问题的工具吗?
我有一个跨多个性能较差的表连接的查询,因此我使用试错技术来创建复合索引,以尝试根据我正在过滤的列改进性能,但我没有得到想要的结果。我正在使用 EXPLAIN 计划来尝试确定合适的索引策略。
任何人都可以建议另一种可以帮助解决此问题的工具吗?
没有工具可以告诉您正确的索引。有一些声称可以进行“查询分析”的工具,但据我所知,它们所做的只是为您运行 EXPLAIN,并可能确定在您的服务器上占最大响应时间的查询。
所以解决办法是学习索引是如何工作的,以及如何构建复合索引。有一种相对简单的方法可以将索引添加到复合索引。我在Find the Optimal Order of Multi-Column Index 的回答和我的演示How to Design Indexes, really中对此进行了描述。
您可以对连接表使用类似的方法。