【问题标题】:Any command in mysql equivalent to Oracle's autotrace for performance turningmysql 中的任何命令都等效于 Oracle autotrace 用于性能调优
【发布时间】:2013-01-25 22:24:56
【问题描述】:

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

set autotrace traceonly:

这将显示查询计划和统计信息而不打印实际结果。 mysql中有什么等价的吗?

【问题讨论】:

    标签: mysql performance


    【解决方案1】:

    不,MySQL 中没有等效的版本,至少在社区版中没有。

    MySQL 没有实现 Oracle 在其代码中的那种“工具”;所以没有等效于事件 10046 的跟踪。

    您可以在 SELECT 语句前加上 EXPLAIN 关键字,这将产生输出,其中包含 MySQL 将用于运行该语句的执行计划的信息,但这只是一个估计值,而不是对实际执行的监控.

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

    【讨论】:

      【解决方案2】:

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

      EXPLAIN SELECT * FROM table
      

      如果这就是您所说的统计数据,它还会估计要读取的行数。

      【讨论】:

        猜你喜欢
        • 2016-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-18
        • 1970-01-01
        相关资源
        最近更新 更多