MySQL 进程列表指示当前由服务器内执行的一组线程执行的操作。和视图总结了过程信息processlist
。
x$processlist
它们提供比SHOW PROCESSLIST
语句和INFORMATION_SCHEMA
PROCESSLIST
表更完整的信息,并且也是非阻塞的。默认情况下,行按降序处理时间和降序等待时间排序。有关流程信息来源的比较,请参阅流程信息
来源。
此处的列描述很简短。有关其他信息,请参阅第 27.12.21.7 节“线程表”中对性能模式
threads
表
的描述。
processlist
和
x$processlist
视图有以下列
:
thd_id
线程 ID。
conn_id
连接 ID。
user
线程用户或线程名称。
db
线程的默认数据库,或者
NULL
如果没有。command
对于前台线程,线程代表客户端执行的命令类型,或者
Sleep
会话是否空闲。state
指示线程正在做什么的操作、事件或状态。
time
线程处于其当前状态的时间(以秒为单位)。
current_statement
线程正在执行的语句,或者
NULL
如果它没有执行任何语句。execution_engine
查询执行引擎。值为
PRIMARY
或SECONDARY
。与 MySQL 数据库服务和 HeatWave 一起使用,其中PRIMARY
引擎是InnoDB
,SECONDARY
引擎是 HeatWave (RAPID
)。对于没有 HeatWave 的 MySQL Community Edition Server、MySQL Enterprise Edition Server(内部部署)和 MySQL Database Service,值始终为PRIMARY
。此列是在 MySQL 8.0.29 中添加的。statement_latency
语句执行了多长时间。
progress
支持进度报告的阶段的已完成工作百分比。请参阅 第 28.3 节,“sys 模式进度报告”。
lock_latency
当前语句等待锁所花费的时间。
cpu_latency
当前线程在 CPU 上花费的时间。
rows_examined
当前语句从存储引擎读取的行数。
rows_sent
当前语句返回的行数。
rows_affected
受当前语句影响的行数。
tmp_tables
当前语句创建的内部内存临时表的数量。
tmp_disk_tables
当前语句创建的内部磁盘临时表的数量。
full_scan
当前语句执行的全表扫描次数。
last_statement
线程执行的最后一条语句,如果当前没有正在执行的语句或等待。
last_statement_latency
最后一条语句执行了多长时间。
current_memory
线程分配的字节数。
last_wait
线程的最近等待事件的名称。
last_wait_latency
线程最近等待事件的等待时间。
source
包含生成事件的检测代码的源文件和行号。
trx_latency
当前事务等待线程的时间。
trx_state
线程当前事务的状态。
trx_autocommit
当前事务开始时是否启用自动提交模式。
pid
客户端进程 ID。
program_name
客户端程序名称。