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

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


1. 命令用法

sql 复制代码
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. 常见用例

查看所有活动线程
sql 复制代码
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             |
+----+------+-----------------+------+---------+------+---------------------------------+------------------+
终止指定线程
sql 复制代码
KILL 5;  -- 终止 Id=5 的线程
过滤长时间运行的查询
sql 复制代码
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST 
WHERE Command = 'Query' AND Time > 60;

4. 替代方案:INFORMATION_SCHEMA.PROCESSLIST

  • 优势:可通过 SQL 查询过滤、排序或聚合数据。

  • 示例

    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,您可以实时监控数据库负载、识别阻塞查询,并优化资源使用。

相关推荐
Mr.Pascal3 小时前
Redis:主动更新,读时更新,定时任务。三种的优劣势对比
数据库·redis·缓存
思成不止于此3 小时前
【MySQL 零基础入门】DQL 核心语法(二):表条件查询与分组查询篇
android·数据库·笔记·学习·mysql
骥龙3 小时前
3.10、构建网络防线:防火墙、WAF 与蜜罐实战
服务器·网络·数据库·网络安全
帝吃藕和4 小时前
MySQL 知识点复习- 4. update/delete/like
mysql
gugugu.5 小时前
Redis 字符串类型完全指南:从原理到实战应用
数据库·redis·缓存
杨云龙UP5 小时前
MySQL 自动备份与覆盖恢复实战:一套脚本搞定全库/按库备份恢复
linux·运维·数据库·sql·mysql
workflower6 小时前
PostgreSQL 数据库优化
数据库·团队开发·数据库开发·时序数据库·数据库架构
计算机毕设VX:Fegn08957 小时前
计算机毕业设计|基于springboot + vue服装商城系统(源码+数据库+文档)
数据库·vue.js·spring boot·课程设计
WX-bisheyuange8 小时前
基于Spring Boot的智慧校园管理系统设计与实现
java·大数据·数据库·毕业设计
JavaGuide9 小时前
对标MinIO!全新一代分布式文件系统诞生!
数据库·后端