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等待磁碟 I/O 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此執行緒的唯一識別碼。該值與效能結構描述 (Performance Schema) 的
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。