📜  mysql 显示长时间运行的查询 - SQL (1)

📅  最后修改于: 2023-12-03 15:03:06.723000             🧑  作者: Mango

MySQL 显示长时间运行的查询 - SQL

在 MySQL 中,我们可以使用以下 SQL 命令来显示长时间运行的查询:

SHOW FULL PROCESSLIST;

该命令将列出当前正在运行的所有进程,包括它们的 ID、用户、主机、数据库、状态、运行时间和查询语句。我们可以使用该命令来追踪并诊断长时间运行的查询。

但是,如果你的 MySQL 服务器上运行了大量的连接和查询,这个命令的输出可能会很长,使得难以找到长时间运行的查询。为了更好地过滤和排序输出结果,我们可以使用以下 SQL 命令:

SELECT * FROM information_schema.processlist WHERE TIME > 10 ORDER BY TIME DESC;

该命令将只列出运行时间超过 10 秒的进程,并按照运行时间从大到小排序。我们可以调整时间值来查找不同时间段内的进程。

另外,如果你想要取消一个长时间运行的查询,你可以使用以下命令:

KILL [connection_id];

其中 connection_id 是要被终止的查询的进程 ID。

现在你已经知道如何显示和取消长时间运行的查询了,祝你在 MySQL 中愉快地开发和调试!