【问题标题】:How to get this information when executing queries? (query time, lock time, rows sent and rows examined)执行查询时如何获取此信息? (查询时间、锁定时间、发送的行和检查的行)
【发布时间】:2010-08-02 17:44:23
【问题描述】:

我在执行查询时正在寻找这些信息:

# Query_time: 11.639269  Lock_time: 0.000192 Rows_sent: 2  Rows_examined:
6509098

如何从命令行获取这个?

【问题讨论】:

标签: sql mysql


【解决方案1】:

我唯一能想到的就是很复杂的组合

  • EXPLAIN ...
  • SET profile=1;,
  • 实际SELECT
  • SHOW PROFILE ALL FOR QUERY <id>\G;
  • ...然后进行一些手动计算。

如果有人能提出更好的方法,我会非常欢迎(尽管计算当然可以在存储过程中完成)。

【讨论】:

  • 好像当你激活慢查询日志时,会显示这个信息。
  • 是的,我知道它来自哪里。它显示在我的慢查询日志中,在运行/测试查询时将它放在命令行上,我还没有看到它。可以计算出来,但它不是那么用户友好(结束将 long_query_time 设置为 0.005 之类的东西对我来说并不合适)。
猜你喜欢
  • 2021-09-12
  • 2016-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-13
相关资源
最近更新 更多