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
正在等待磁盘 IO 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
此线程的唯一标识符。该值与性能模式
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
列上的唯一索引。
对于 tp_thread_state
表,不允许使用 TRUNCATE TABLE
语句。