就像SQL Server中的备忘录结构一样,这是优化器在优化查询时所采取的步骤的“书面跟踪”。在MySQL中有什么东西可以让我获得诸如优化器考虑的计划、每个计划的成本之类的信息?
发布于 2013-05-20 15:42:17
最近的5.6版本增加了这个特性。
请参阅:MySQL内部手册::一章9.跟踪优化器
典型用法:
# 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中看到它的作用。不知道如何美化输出。
发布于 2013-05-20 15:24:05
我能立即提到的最好的方法就是简单地在查询上运行EXPLAIN。
有一种图形化的方法可以做到这一点。
至于优化查询的步骤,则创建一个解析树。不要在这里解释解析器,请阅读我2013年3月11日(连接条件和WHERE条件之间有执行区别吗?)关于解析器所做工作的文章。
https://dba.stackexchange.com/questions/42602
复制相似问题