📅  最后修改于: 2023-12-03 15:03:06.693000             🧑  作者: Mango
MySQL 是目前最广泛使用的开源关系型数据库管理系统之一。在 MySQL 中,可以使用不同的命令和方法来管理和查询数据库。本文将介绍如何在 MySQL 中显示正在运行的查询。
SHOW PROCESSLIST 命令用于显示当前 MySQL 服务器中所有正在运行的查询。该命令可以让程序员实时监控正在运行的查询,以便及时发现性能问题和瓶颈。
mysql> SHOW PROCESSLIST;
输出结果如下:
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+-------+------------------+
| 1 | root | localhost | test | Query | 0 | NULL | SHOW PROCESSLIST |
| 2 | root | localhost | test | Sleep | 3 | NULL | NULL |
+----+------+-----------+------+---------+------+-------+------------------+
其中,各列含义如下:
除了 SHOW PROCESSLIST 命令外,还可以使用 MySQL 中的 INFORMATION_SCHEMA.PROCESSLIST 表来查询正在运行的查询。该表是 MySQL 中的一个元数据表,可以用于查询 MySQL 中的各种信息。
mysql> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
输出结果与 SHOW PROCESSLIST 命令相同。
如果某个查询执行时间过长或者占用过多的资源,可以使用 KILL 命令来终止它。
mysql> KILL 1;
其中,1 是要终止查询的 ID。
MySQL 中显示正在运行的查询可以帮助程序员及时发现性能问题和瓶颈。我们可以使用 SHOW PROCESSLIST 命令或 INFORMATION_SCHEMA.PROCESSLIST 表查询正在运行的查询,并使用 KILL 命令来终止不必要的查询。