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
。