tp_thread_group_state表
注意从MySQL 8.0.14开始,此处描述的性能架构表可用。在MySQL 8.0.14之前,请改用相应的
INFORMATION_SCHEMA
表。请参见“ INFORMATION_SCHEMA TP_THREAD_GROUP_STATE表”。
该tp_thread_group_state
表在线程池中每个线程组都有一行。每行提供有关组当前状态的信息。
该tp_thread_group_state
表包含以下列:
TP_GROUP_ID
线程组ID。这是表中的唯一键。
CONSUMER THREADS
使用者线程数。如果活动线程陷入停滞或阻塞状态,则最多有一个线程准备开始执行。
RESERVE_THREADS
保留状态下的线程数。这意味着只有在需要唤醒新线程并且没有使用者线程之前,它们才会启动。当线程组创建的线程数超过正常操作所需的线程数时,大多数线程将在此处结束。通常,线程组在短时间内需要其他线程,然后在一段时间内不再需要它们。在这种情况下,它们将进入保留状态并保留直到再次需要。它们占用一些额外的内存资源,但不占用额外的计算资源。
CONNECT_THREAD_COUNT
正在处理或等待处理连接初始化和身份验证的线程数。每个线程组最多可以有四个连接线程。这些线程在闲置一段时间后到期。
CONNECTION_COUNT
使用此线程组的连接数。
QUEUED_QUERIES
在高优先级队列中等待的语句数。
QUEUED_TRANSACTIONS
低优先级队列中等待的语句数。这些是尚未开始的事务的初始语句,因此它们也表示排队的事务。
STALL_LIMIT
thread_pool_stall_limit
线程组的系统变量的值。对于所有线程组,该值都是相同的。PRIO_KICKUP_TIMER
thread_pool_prio_kickup_timer
线程组的系统变量的值。对于所有线程组,该值都是相同的。ALGORITHM
thread_pool_algorithm
线程组的系统变量的值。对于所有线程组,该值都是相同的。THREAD_COUNT
在线程池中作为该线程组的一部分启动的线程数。
ACTIVE_THREAD_COUNT
在执行语句中活动的线程数。
STALLED_THREAD_COUNT
线程组中停顿的语句数。暂停的语句可能正在执行,但是从线程池的角度来看,它已暂停并且没有任何进展。长期运行的语句很快就属于这一类别。
WAITING_THREAD_NUMBER
如果有一个线程在处理线程组中的语句轮询,则指定该线程组中的线程号。该线程可能正在执行一条语句。
OLDEST_QUEUED
最旧的排队语句等待执行的毫秒数。
MAX_THREAD_IDS_IN_GROUP
组中线程的最大线程ID。这与
MAX(TP_THREAD_NUMBER)
从tp_thread_state
表中选择时的线程相同。也就是说,这两个查询是等效的:SELECT TP_GROUP_ID, MAX_THREAD_IDS_IN_GROUPFROM tp_thread_group_state;SELECT TP_GROUP_ID, MAX(TP_THREAD_NUMBER)FROM tp_thread_stateGROUP BY TP_GROUP_ID;
该tp_thread_group_state
表具有以下索引:
- (
TP_GROUP_ID
)上的唯一索引
TRUNCATE TABLE
不允许用于该tp_thread_group_state
表。