mysql中的任何命令都等同于Oracle autotrace的性能调优

时间:2013-01-25 22:24:56

标签: mysql performance

在oracle sql plus中,在进行性能测试时,我会做

set autotrace traceonly:

将显示查询计划和统计信息而不打印实际结果。在mysql中有什么相同的东西吗?

2 个答案:

答案 0 :(得分:2)

不,MySQL中没有可用的等价物,至少在社区版中没有。

MySQL没有实现Oracle在其代码中使用的那种“工具”;所以没有相当于事件10046的痕迹。

您可以使用EXPLAIN关键字为SELECT语句添加前缀,这将产生输出,其中包含有关MySQL将用于运行语句的执行计划的信息,但这只是一个估计值,而不是对实际执行。

您还可以在服务器上启用慢速查询日志,以捕获执行时间超过long_query_time秒的SQL语句,但这实际上只能识别长时间运行的查询。这将为您提供SQL文本,以及经过的时间和检查的行数。

答案 1 :(得分:-1)

要获取查询计划,只需将EXPLAIN添加到SELECT查询的开头。

EXPLAIN SELECT * FROM table

如果这是您正在谈论的统计数据,它还会估算要读取的行数。