首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法在MySQL中跟踪优化器的工作?

有没有办法在MySQL中跟踪优化器的工作?
EN

Database Administration用户
提问于 2013-05-20 14:42:58
回答 2查看 1.3K关注 0票数 7

就像SQL Server中的备忘录结构一样,这是优化器在优化查询时所采取的步骤的“书面跟踪”。在MySQL中有什么东西可以让我获得诸如优化器考虑的计划、每个计划的成本之类的信息?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2013-05-20 15:42:17

最近的5.6版本增加了这个特性。

请参阅:MySQL内部手册::一章9.跟踪优化器

典型用法:

代码语言:javascript
运行
复制
# Turn tracing on (it's off by default):
SET optimizer_trace="enabled=on";

SELECT ...; # your query here

SELECT * FROM INFORMATION_SCHEMA.OPTIMIZER_TRACE;

# possibly more queries...

# When done with tracing, disable it:
SET optimizer_trace="enabled=off";

您可以在undefined中看到它的作用。不知道如何美化输出。

票数 10
EN

Database Administration用户

发布于 2013-05-20 15:24:05

我能立即提到的最好的方法就是简单地在查询上运行EXPLAIN。

有一种图形化的方法可以做到这一点。

至于优化查询的步骤,则创建一个解析树。不要在这里解释解析器,请阅读我2013年3月11日(连接条件和WHERE条件之间有执行区别吗?)关于解析器所做工作的文章。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/42602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档