欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > Mysql--基础知识点--91.2--processlist

Mysql--基础知识点--91.2--processlist

2025/7/7 11:41:47 来源:https://blog.csdn.net/Chasing__Dreams/article/details/147834008  浏览:    关键词:Mysql--基础知识点--91.2--processlist

在 MySQL 中,SHOW PROCESSLIST 是一个常用命令,用于查看当前数据库服务器上所有正在运行的线程(进程)信息。以下是关键点说明:


1. 命令用法

SHOW FULL PROCESSLIST;
  • 输出字段
    列名含义
    Id线程唯一标识符(可用于 KILL 命令终止进程)
    User执行查询的数据库用户
    Host客户端主机名和端口
    db当前使用的数据库
    Command线程正在执行的命令类型(如 Query, Sleep, Connect 等)
    Time命令已执行的秒数
    State线程的当前状态(如 Sending data, Sorting result, Locked 等)
    Info线程正在执行的具体 SQL 语句(FULL 关键字会显示完整语句)

2. 权限要求

  • 普通用户:默认只能看到自己的线程。
  • 管理员权限:需 PROCESS 权限(或 SUPER 权限)才能查看所有用户的线程。

3. 常见用例

查看所有活动线程
SHOW FULL PROCESSLIST;

输出示例:

+----+------+-----------------+------+---------+------+---------------------------------+------------------+
| Id | User | Host            | db   | Command | Time | State                           | Info             |
+----+------+-----------------+------+---------+------+---------------------------------+------------------+
| 5  | root | localhost:12345 | test | Query   | 0    | starting                        | SHOW PROCESSLIST |
| 6  | user | 192.168.1.10:5678| test | Sleep   | 120  |                                 | NULL             |
+----+------+-----------------+------+---------+------+---------------------------------+------------------+
终止指定线程
KILL 5;  -- 终止 Id=5 的线程
过滤长时间运行的查询
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST 
WHERE Command = 'Query' AND Time > 60;

4. 替代方案:INFORMATION_SCHEMA.PROCESSLIST

  • 优势:可通过 SQL 查询过滤、排序或聚合数据。
  • 示例
    -- 查找执行时间超过 10 秒的查询
    SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST 
    WHERE TIME > 10 AND COMMAND = 'Query';
    

5. 典型状态解释

  • Sleep:线程处于空闲状态(等待新命令)。
  • Query:正在执行查询。
  • Locked:查询被锁阻塞(如等待行锁或表锁)。
  • Sending data:向客户端返回数据。
  • Sorting result:对结果集进行排序。

6. 结合性能分析

  • 若发现长时间运行的查询,可结合 EXPLAIN 分析执行计划,或通过 SHOW PROFILES(需提前启用 profiling)进一步诊断性能瓶颈。

通过 SHOW PROCESSLIST,您可以实时监控数据库负载、识别阻塞查询,并优化资源使用。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词