【发布时间】:2019-06-15 00:43:52
【问题描述】:
我搜索了很多主题,但找不到任何有关如何查找哪个查询消耗更多 CPU 时间的信息。
我正在使用 MySQL 8.0 和 MySQL Workbench。 我可以找到查询的平均和总执行时间,但我不确定它是否是 CPU 使用率的指标。由于内存不足和额外的磁盘读取,查询可能需要更长的时间来执行。
【问题讨论】:
-
您应该使用SHOW PROFILE,但它已被弃用,并将在未来的 MySQL 版本中删除。或者使用 Query Profiling Using Performance Schema .. 如果 SHOW PROFILE 仍在您的数据库中工作,请使用它,因为它更多易于使用..两者都应该为您提供磁盘 I/O 指示..
-
谢谢大家的帮助! SHOW PROFILE 在我的数据库中不起作用。
-
Raymond,我听从了您的建议,并使用 EXPLAIN 仔细检查了最耗时的查询。它们都经过很好的优化,使用索引并且不使用临时表。但我注意到我仍然可以做一些小的优化。用 PHP 计算的日期替换了查询中的 NOW() 函数。
-
我的硬件是 2 x E56XX 2.4GHz CPU、2Gb RAM、50Gb SSD、Windows 2008 R2。显示全球状态:pastebin.com/pfs1DPzU 感谢“显示全球状态”不知道这样的命令会研究它。全局变量:pastebin.com/ESp8ZP6u
-
进程列表:prntscr.com/maxp8mmy.ini:pastebin.com/9P5mGtSY这是windowws机器所以我没有MySQLTuner
标签: mysql mysql-workbench