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。這與從
tp_thread_state
表格中選取執行緒時的MAX(TP_THREAD_NUMBER)
相同。也就是說,這兩個查詢是相等的:SELECT TP_GROUP_ID, MAX_THREAD_IDS_IN_GROUP FROM tp_thread_group_state; SELECT TP_GROUP_ID, MAX(TP_THREAD_NUMBER) FROM tp_thread_state GROUP BY TP_GROUP_ID;
EFFECTIVE_MAX_TRANSACTIONS_LIMIT
群組的有效
max_transactions_limit_per_tg
值。NUM_QUERY_THREADS
群組中的工作執行緒數量。
TIME_OF_LAST_THREAD_CREATION
上次建立執行緒的時間點。
NUM_CONNECT_HANDLER_THREAD_IN_SLEEP
非活動連線處理常式執行緒的數量。
THREADS_BOUND_TO_TRANSACTION
作用中交易中的執行緒數量,此數量必須小於
thread_pool_max_transactions_limit
;只有在thread_pool_max_transactions_limit
不為0
時才會設定此值。QUERY_THREADS_COUNT
與 num_query_threads 相同,但用於不同目的?
TIME_OF_EARLIEST_CON_EXPIRE
顯示連線預計最早過期的時間戳記。
tp_thread_group_state
表格有一個索引;這是在 TP_GROUP_ID
欄位上的唯一索引。
不允許對 tp_thread_group_state
表格使用 TRUNCATE TABLE
。