As of MySQL 8.0.14, the INFORMATION_SCHEMA
thread pool tables are also available as Performance Schema
tables. (See
Section 29.12.16, “Performance Schema Thread Pool Tables”.) The
INFORMATION_SCHEMA
tables are deprecated;
expect them be removed in a future version of MySQL. Applications
should transition away from the old tables to the new tables. For
example, if an application uses this query:
SELECT * FROM INFORMATION_SCHEMA.TP_THREAD_STATE;
The application should use this query instead:
SELECT * FROM performance_schema.tp_thread_state;
The following sections describe the
INFORMATION_SCHEMA
tables associated with the
thread pool plugin (see Section 7.6.3, “MySQL Enterprise Thread Pool”). They provide
information about thread pool operation:
TP_THREAD_GROUP_STATE
: Information about thread pool thread group statesTP_THREAD_GROUP_STATS
: Thread group statisticsTP_THREAD_STATE
: Information about thread pool thread states
Rows in these tables represent snapshots in time. In the case of
TP_THREAD_STATE
, all rows for a thread group
comprise a snapshot in time. Thus, the MySQL server holds the mutex
of the thread group while producing the snapshot. But it does not
hold mutexes on all thread groups at the same time, to prevent a
statement against TP_THREAD_STATE
from blocking
the entire MySQL server.
The INFORMATION_SCHEMA
thread pool tables are
implemented by individual plugins and the decision whether to load
one can be made independently of the others (see
Section 7.6.3.2, “Thread Pool Installation”). However, the content of
all the tables depends on the thread pool plugin being enabled. If a
table plugin is enabled but the thread pool plugin is not, the table
becomes visible and can be accessed but is empty.