Documentation Home
MySQL 9.1 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.3Mb
PDF (A4) - 40.4Mb
Man Pages (TGZ) - 259.3Kb
Man Pages (Zip) - 366.4Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


29.12.16.4 The tp_thread_state Table

The tp_thread_state table has one row per thread created by the thread pool to handle connections.

The tp_thread_state table has these columns:

  • TP_GROUP_ID

    The thread group ID.

  • TP_THREAD_NUMBER

    The ID of the thread within its thread group. TP_GROUP_ID and TP_THREAD_NUMBER together provide a unique key within the table.

  • PROCESS_COUNT

    The 10ms interval in which the statement that uses this thread is currently executing. 0 means no statement is executing, 1 means it is in the first 10ms, and so forth.

  • WAIT_TYPE

    The type of wait for the thread. NULL means the thread is not blocked. Otherwise, the thread is blocked by a call to thd_wait_begin() and the value specifies the type of wait. The xxx_WAIT columns of the tp_thread_group_stats table accumulate counts for each wait type.

    The WAIT_TYPE value is a string that describes the type of wait, as shown in the following table.

    Table 29.4 tp_thread_state Table WAIT_TYPE Values

    Wait Type Meaning
    THD_WAIT_SLEEP Waiting for sleep
    THD_WAIT_DISKIO Waiting for Disk IO
    THD_WAIT_ROW_LOCK Waiting for row lock
    THD_WAIT_GLOBAL_LOCK Waiting for global lock
    THD_WAIT_META_DATA_LOCK Waiting for metadata lock
    THD_WAIT_TABLE_LOCK Waiting for table lock
    THD_WAIT_USER_LOCK Waiting for user lock
    THD_WAIT_BINLOG Waiting for binlog
    THD_WAIT_GROUP_COMMIT Waiting for group commit
    THD_WAIT_SYNC Waiting for fsync

  • TP_THREAD_TYPE

    The type of thread. The value shown in this column is one of CONNECTION_HANDLER_WORKER_THREAD, LISTENER_WORKER_THREAD, QUERY_WORKER_THREAD, or TIMER_WORKER_THREAD.

  • THREAD_ID

    This thread's unique identifier. The value is the same as that used in the THREAD_ID column of the Performance Schema threads table.

  • TIME_OF_ATTACH:

    Timestamp showing when the thread was attached, if attached to a connection; otherwise NULL.

  • MARKED_STALLED:

    This is True if this thread has been marked as stalled by the stall checker thread.

  • STATE:

    Possible values depend on the type of thread, as shown by the TP_THREAD_TYPE column:

    • For worker threads (QUERY_WORKER_THREAD), this is one of Managing, Polling, Processing Direct, Processing Queued, Sleeping Consumer, or Sleeping Reserve.

    • For connection handler threads (CONNECTION_HANDLER_WORKER_THREAD), this is one of CH Processing, CH Sleeping Timed, or CH Sleeping Indefinite.

    • For the stall checker thread (TIMER_WORKER_THREAD), this is one of SC Checking, SC Sleeping Short, or SC Sleeping Long.

  • EVENT_COUNT:

    The accumulated number of events processed by this thread.

  • ACCUMULATED_EVENT_TIME:

    The wall clock time spent processing events.

  • EXEC_COUNT:

    The accumulated number of queries (statements) passed to the server for execution.

  • ACCUMULATED_EXEC_TIME:

    The wall clock time spent processing queries by the server.

The tp_thread_state table has one index; this is a unique index on the TP_GROUP_ID and TP_THREAD_NUMBER columns.

TRUNCATE TABLE is not permitted for the tp_thread_state table.