我想知道是否有可能记录(或以另一种方式检测)一到达long_query_time就花费太多时间执行的查询。因为MySQL只在慢查询执行完毕时记录它们。
我知道通过检查MySQL管理器的“服务器连接”选项卡,我可以在查询结束之前看到缓慢的查询,但我希望在发生时自动通知(使用日志更容易)。
发布于 2013-06-11 06:43:45
如果您希望轮询数据库以检查查询的运行时间是否超过x秒,则可以使用show processlist,或者直接转到process list table。
select * from INFORMATION_SCHEMA.PROCESSLIST where time > TIME_IN_SECS这会给数据库增加更多的负载,所以我不建议每秒都这样做。但这意味着你不会在“信息一到达long_query_time”的时候就得到它。
https://stackoverflow.com/questions/17033482
复制相似问题