TDSQL Boundless PROCESSLIST

INFORMATION_SCHEMA.PROCESSLIST 表用于展示实例内当前所有会话(线程)的运行状态信息,可用于查看会话连接情况、定位慢查询、排查长事务等场景。

相关产品
TDSQL Boundless 产品页,含版本规格、价格与购买入口。

一、功能

该表在原生 MySQL PROCESSLIST 的基础上扩展了 TIME_MS、ROWS_SENT、ROWS_EXAMINED、TID 等字段,提供更精细的会话运行时观测能力。

注意:说明:

二、字段说明

字段名 类型 描述
ID bigint unsigned 会话连接 ID,对应 CONNECTION_ID() 返回值,可用作 KILL 语句的参数。
USER varchar(32) 发起该会话的 MySQL 用户名。系统会话显示为 system user,未完成认证的会话显示为 unauthenticated user。
HOST varchar(261) 发起该会话的客户端主机名或 IP 地址,格式为 host_name:port 或 ip:port。
DB varchar(64) 该会话当前使用的默认数据库名。若未选择默认数据库,取值为 NULL。
COMMAND varchar(16) 该会话正在执行的命令类型,常见取值包括 Sleep、Query、Connect、Binlog Dump、Killed 等。
TIME int 当前 COMMAND 已持续的时间,单位为秒。
STATE varchar(64) 线程正在进行的动作、事件或状态,用于描述会话当前所处的执行阶段。取值为 NULL 表示无状态信息。
INFO varchar(65535) 该会话正在执行的 SQL 语句。若未执行任何语句,取值为 NULL。
TIME_MS bigint 当前 COMMAND 已持续的时间,单位为毫秒,提供比 TIME 字段更高精度的计时。
ROWS_SENT bigint unsigned 该会话当前语句已经向客户端返回的行数。
ROWS_EXAMINED bigint unsigned 该会话当前语句已经扫描的行数,可用于辅助定位执行效率异常的 SQL。
TID bigint unsigned 该会话对应的协程 ID(即 bthread 的 ID),若该会话没有使用协程,取值为 0。用于在系统侧排查线程级问题。
ENDPOINT varchar(255) 该会话所属计算节点的 SQL 地址(host:port)。在 SHOW FULL PROCESSLIST 全局模式下用于标识每条会话来源的计算节点。本地查询时显示当前节点地址。

三、示例

查询当前实例所有会话信息:

tdsql> SELECT * FROM information_schema.PROCESSLIST\\G*************************** 1. row *************************** ID: 2155297 USER: test HOST: 10.10.10.10:59078 DB: __tdsql_recycle_bin__ COMMAND: Query TIME: 0 STATE: executing INFO: SELECT * FROM `information_schema`.`PROCESSLIST` TIME_MS: 2 ROWS_SENT: 0ROWS_EXAMINED: 0 TID: 268435659 ENDPOINT: 10.0.0.1:3306*************************** 2. row *************************** ID: 2149066 USER: tdsql3_sys_local HOST: localhost DB: NULL COMMAND: Sleep TIME: 9 STATE: NULL INFO: NULL TIME_MS: 8726 ROWS_SENT: 4ROWS_EXAMINED: 4 TID: 421765955 ENDPOINT: 10.0.0.2:33062 rows in set (0.01 sec)

查询执行时长超过10秒的会话:

SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFOFROM information_schema.PROCESSLISTWHERE COMMAND <> 'Sleep' AND TIME > 10ORDER BY TIME DESC;

根据 ID 终止指定会话:

KILL 2155297;

赞 (0)
上一篇 4天前
下一篇 4天前