tp_thread_state
表对于线程池创建的每个处理连接的线程都有一行。
tp_thread_state
表包含以下列
TP_GROUP_ID
线程组 ID。
TP_THREAD_NUMBER
线程在其线程组中的 ID。
TP_GROUP_ID
和TP_THREAD_NUMBER
共同构成表中的唯一键。PROCESS_COUNT
当前正在执行使用此线程的语句的 10 毫秒间隔。 0 表示没有语句正在执行,1 表示在第一个 10 毫秒内,依此类推。
WAIT_TYPE
线程的等待类型。
NULL
表示线程未阻塞。否则,线程被thd_wait_begin()
的调用阻塞,并且该值指定等待类型。tp_thread_group_stats
表的
列累加每个等待类型的计数。xxx
_WAITWAIT_TYPE
值是一个字符串,描述等待类型,如下表所示。表 29.4 tp_thread_state 表 WAIT_TYPE 值
等待类型 含义 THD_WAIT_SLEEP
等待睡眠 THD_WAIT_DISKIO
等待磁盘 I/O THD_WAIT_ROW_LOCK
等待行锁 THD_WAIT_GLOBAL_LOCK
等待全局锁 THD_WAIT_META_DATA_LOCK
等待元数据锁 THD_WAIT_TABLE_LOCK
等待表锁 THD_WAIT_USER_LOCK
等待用户锁 THD_WAIT_BINLOG
等待二进制日志 THD_WAIT_GROUP_COMMIT
等待组提交 THD_WAIT_SYNC
等待 fsync TP_THREAD_TYPE
线程类型。 此列中显示的值之一为
CONNECTION_HANDLER_WORKER_THREAD
、LISTENER_WORKER_THREAD
、QUERY_WORKER_THREAD
或TIMER_WORKER_THREAD
。THREAD_ID
此线程的唯一标识符。 该值与 Performance Schema
threads
表的THREAD_ID
列中使用的值相同。TIME_OF_ATTACH
:显示线程附加到连接的时间戳,如果附加到连接;否则为
NULL
。MARKED_STALLED
:如果此线程被停滞检查线程标记为已停滞,则为
True
。STATE
:可能的值取决于线程类型,如
TP_THREAD_TYPE
列所示对于工作线程 (
QUERY_WORKER_THREAD
),这将是Managing
、Polling
、Processing Direct
、Processing Queued
、Sleeping Consumer
或Sleeping Reserve
之一。对于连接处理线程 (
CONNECTION_HANDLER_WORKER_THREAD
),这将是CH Processing
、CH Sleeping Timed
或CH Sleeping Indefinite
之一。对于停滞检查线程 (
TIMER_WORKER_THREAD
),这将是SC Checking
、SC Sleeping Short
或SC Sleeping Long
之一。
EVENT_COUNT
:此线程处理的事件的累计数量。
ACCUMULATED_EVENT_TIME
:处理事件所花费的挂钟时间。
EXEC_COUNT
:传递到服务器以执行的查询(语句)的累计数量。
ACCUMULATED_EXEC_TIME
:服务器处理查询所花费的挂钟时间。
tp_thread_state
表有一个索引;这是 TP_GROUP_ID
和 TP_THREAD_NUMBER
列的唯一索引。
TRUNCATE TABLE
不允许用于 tp_thread_state
表。