如何生成Mysql查询计划?

时间:2018-02-14 15:03:52

标签: mysql sql database indexing innodb

在执行具有多个连接的查询之前的Mysql。它创建了多个查询计划,并找到执行查询的最低成本计划(约)。

我的问题是

  1. 优化工具如何执行基于成本的计算,以便在什么基础上选择计划(例如where条件中的字段数)?

  2. Mysql Stats如何在更短的时间内创建多个计划?

  3. 是否有任何公式(或步骤)可以自行生成查询计划?

1 个答案:

答案 0 :(得分:0)

通常,人们使用EXPLAIN,因此他们可以看到SQL考虑执行查询的不同方式,如果他们看到一种改进数据库结构的方法,使其更有效,他们就可以改变它。在大学里,我们已经考虑了一些逻辑,它是如何完成的,但它完全依赖于实现,因此MariaDB MySQL,Percona MySQL和Oracle DB将使用不同的方法,尽管大多数情况相同,但可能存在差异,优化

我建议您查看具体的SQL's manual和相应的条目,您实际上让我对此感兴趣所以我现在也会这样做并发送更新,如果我找到值得注意或有趣的东西:)

我可以问你为什么要自己生成它,所以也许我们可以给出一些更具体的建议?您可以查询计划,以便您可能想要尝试生成更优化的计划,或者由于某种原因生成一些完全独特的计划?