0

我想知道是否有可能记录(或以另一种方式检测)一个查询,一旦它达到 long_query_time,它就会花费太多时间来执行。因为 MySQL 只在它们完成执行时记录慢查询。

我知道我可以通过检查 MySQL 管理员的“服务器连接”选项卡在完成之前看到缓慢的查询,但我希望在它发生时自动收到通知(使用日志更容易)。

4

1 回答 1

1

如果您愿意轮询数据库以检查查询是否运行超过 x 秒,则可以使用show processlist,或直接转到process list table

select * from INFORMATION_SCHEMA.PROCESSLIST where time > TIME_IN_SECS

这会给数据库增加更多负载,所以我不建议每秒都这样做。但这意味着您不会“一旦达到 long_query_time”就获得信息。

于 2013-06-10T22:43:45.417 回答