【问题标题】:How Mysql Query Plan is generated?Mysql Query Plan是如何生成的?
【发布时间】:2018-07-25 04:59:14
【问题描述】:

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

我的问题是

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

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

  3. 有没有自己生成查询计划的公式(或步骤)?

【问题讨论】:

标签: mysql sql database indexing innodb


【解决方案1】:

通常,人们使用EXPLAIN,因此他们可以看到 SQL 考虑执行查询的不同方式,如果他们看到改进数据库结构以提高效率的方法,他们可以更改它。在大学里,我们一直在思考它是如何做的一些逻辑,但它完全依赖于实现,因此 MariaDB MySQL、Percona MySQL 和 Oracle DB 将使用不同的方法,虽然大部分逻辑相同,但可能存在差异和优化。

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

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

【讨论】:

  • 您提供的链接都是关于解释命令的。我已经提到了那个文件。
猜你喜欢
  • 2017-03-11
  • 2013-07-13
  • 2020-10-20
  • 2012-05-04
  • 2022-01-14
  • 1970-01-01
  • 1970-01-01
  • 2021-11-30
  • 1970-01-01
相关资源
最近更新 更多