Documentation Home
MySQL Performance Schema
Related Documentation Download this Excerpt
PDF (US Ltr) - 1.2Mb
PDF (A4) - 1.2Mb

10.16.2 The tp_thread_group_stats Table


The Performance Schema table described here is available as of MySQL 8.0.14. Prior to MySQL 8.0.14, use the corresponding INFORMATION_SCHEMA table instead; see The INFORMATION_SCHEMA TP_THREAD_GROUP_STATS Table.

The tp_thread_group_stats table reports statistics per thread group. There is one row per group.

The tp_thread_group_stats table has these columns:


    The thread group ID. This is a unique key within the table.


    The number of connections started.


    The number of connections closed.


    The number of statements executed. This number is incremented when a statement starts executing, not when it finishes.


    The number of statements received that were queued for execution. This does not count statements that the thread group was able to begin executing immediately without queuing, which can happen under the conditions described in Thread Pool Operation.


    The number of threads started.


    The number of statements that have been moved from low-priority queue to high-priority queue based on the value of the thread_pool_prio_kickup_timer system variable. If this number increases quickly, consider increasing the value of that variable. A quickly increasing counter means that the priority system is not keeping transactions from starting too early. For InnoDB, this most likely means deteriorating performance due to too many concurrent transactions..


    The number of statements that have become defined as stalled due to executing for longer than the value of the thread_pool_stall_limit system variable.


    The number of times thread have been assigned the consumer thread role.


    The number of times threads have been assigned the reserve thread role.


    The number of times threads have been assigned the waiter thread role. When statements are queued, this happens very often, even in normal operation, so rapid increases in this value are normal in the case of a highly loaded system where statements are queued up.


    The number of times the stall check thread decided to wake or create a thread to possibly handle some statements or take care of the waiter thread role.


    The number of THD_WAIT_SLEEP waits. These occur when threads go to sleep (for example, by calling the SLEEP() function).


    The number of THD_WAIT_DISKIO waits. These occur when threads perform disk I/O that is likely to not hit the file system cache. Such waits occur when the buffer pool reads and writes data to disk, not for normal reads from and writes to files.


    The number of THD_WAIT_ROW_LOCK waits for release of a row lock by another transaction.


    The number of THD_WAIT_GLOBAL_LOCK waits for a global lock to be released.


    The number of THD_WAIT_META_DATA_LOCK waits for a metadata lock to be released.


    The number of THD_WAIT_TABLE_LOCK waits for a table to be unlocked that the statement needs to access.


    The number of THD_WAIT_USER_LOCK waits for a special lock constructed by the user thread.


    The number of THD_WAIT_BINLOG_WAITS waits for the binary log to become free.


    The number of THD_WAIT_GROUP_COMMIT waits. These occur when a group commit must wait for the other parties to complete their part of a transaction.


    The number of THD_WAIT_SYNC waits for a file sync operation.

The tp_thread_group_stats table has these indexes:

  • Unique index on (TP_GROUP_ID)

TRUNCATE TABLE is not permitted for the tp_thread_group_stats table.