此处描述的性能模式表从 MySQL 8.0.14 开始可用。MySQL 8.0.14之前,改用对应的INFORMATION_SCHEMA表;参见
第 26.5.4 节,“INFORMATION_SCHEMA TP_THREAD_STATE 表”。
该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()值指定等待类型。该表的xxx_WAITtp_thread_group_stats列为每种等待类型累积计数。该
WAIT_TYPE值是描述等待类型的字符串,如下表所示。表 27.6 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等待binlog THD_WAIT_GROUP_COMMIT等待组提交 THD_WAIT_SYNC等待同步
该tp_thread_state表具有以下索引:
TP_GROUP_ID( ,TP_THREAD_NUMBER) 上的唯一索引