我正在运行 Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-24-virtual x86_64) 和 Percona 的 mysql 服务器。
我知道我的查询速度很慢,但我不确定我在哪里可以找到它们,所以我可以尝试补救它们。
有人能帮我找到日志在哪里吗,如果我能说出有问题的查询是什么。
谢谢
我正在运行 Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-24-virtual x86_64) 和 Percona 的 mysql 服务器。
我知道我的查询速度很慢,但我不确定我在哪里可以找到它们,所以我可以尝试补救它们。
有人能帮我找到日志在哪里吗,如果我能说出有问题的查询是什么。
谢谢
我将从启用 mysql_long_queries 开始,然后检查日志输出。
在 [mysqld] 下的 my.cnf 中
然后从那里去。
您还可以使用:
查看当前正在运行的查询。
我们的朋友 rfelsburg 所说的一切都是正确的,你应该这样做。但是,我必须补充一点,并非您在慢速查询日志中看到的所有查询都运行缓慢。您需要注意一些查询正在队列中等待执行。但是,由于有其他慢速查询正在运行,它们作为通过 long_query_time 值的查询出现在慢速查询日志中,您认为它们运行缓慢。
在你让你的服务器运行一段时间并收集一些慢查询之后,你需要使用 slowquerydump更多信息点击这里,它会为你生成一个漂亮的格式化文件,你可以找到查询,运行了多少次,表锁定时间,...并一个一个地运行它们,看看它们是否真的运行缓慢或在队列中停留的时间太长而无法执行。
如果您有任何问题,请告诉我。