mysql - 实时记录MySQL慢查询

标签 mysql mysql-slow-query-log

我想知道是否可以记录(或以其他方式检测)一旦达到 long_query_time 就花费太多时间执行的查询。因为 MySQL 只在慢速查询完成执行时才记录它们。

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

最佳答案

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

select * from INFORMATION_SCHEMA.PROCESSLIST where time > TIME_IN_SECS

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

关于mysql - 实时记录MySQL慢查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17033482/

相关文章:

mysql - Wordpress 慢查询

mysql - 简单的 SELECT 查询对于大表来说很慢

MySQL - 选择与表中日期最接近的记录并连接到主数据集

php - Yii2中年份大于指定月份,如何获取大于指定年份和月份的记录

mysql - MySQL 中的模仿表( View 或存储函数)

mysql - 如何提取 10 分钟间隔内记录在 mysql 慢查询日志中的查询数量(计数)

php - mysqli_insert_id 的问题

mysql - 如何从 json 数组列中获取具有特定键值的 json 对象?

c# - 如何加快3个联合表中的选择速度

php - MySQL EXPLAIN INSERT 不可用 : how to understand if INSERT is slow or not?