MySQL 8.0.14 の時点では、スレッドプールの INFORMATION_SCHEMA
テーブルは「パフォーマンススキーマ」テーブルとしても使用できます。 (セクション27.12.16「パフォーマンススキーマスレッドプールテーブル」を参照してください。) INFORMATION_SCHEMA
テーブルは非推奨です。将来のバージョンの MySQL で削除される予定です。 アプリケーションは、古いテーブルから新しいテーブルに移行する必要があります。 たとえば、アプリケーションで次のクエリーを使用するとします:
SELECT * FROM INFORMATION_SCHEMA.TP_THREAD_STATE;
アプリケーションでは、かわりに次のクエリーを使用する必要があります:
SELECT * FROM performance_schema.tp_thread_state;
次のセクションでは、スレッドプールプラグインに関連付けられた INFORMATION_SCHEMA
テーブルについて説明します (セクション5.6.3「MySQL Enterprise Thread Pool」 を参照)。 スレッドプール操作に関する情報を示します。
TP_THREAD_GROUP_STATE
: スレッドプールのスレッドグループ状態に関する情報TP_THREAD_GROUP_STATS
: スレッドグループ統計TP_THREAD_STATE
: スレッドプールのスレッド状態に関する情報
これらのテーブル内の行は、特定時点のスナップショットを表します。 TP_THREAD_STATE
の場合、スレッドグループのすべての行で特定時点のスナップショットを構成します。 そのため、MySQL Server では、スナップショットの生成中にスレッドグループの相互排他ロックを保持します。 ただし、TP_THREAD_STATE
に対するステートメントが MySQL Server 全体をブロックできないようにするため、すべてのスレッドグループで同時に相互排他ロックを保持することはありません。
INFORMATION_SCHEMA
スレッドプールテーブルは、個々のプラグインによって実装され、ロードするかどうかは他のプラグインから独立して決定できます (セクション5.6.3.2「スレッドプールのインストール」 を参照)。 ただし、すべてのテーブルの内容は、有効なスレッドプールプラグインに応じて異なります。 テーブルプラグインが有効になっていてもスレッドプールプラグインが有効になっていない場合、そのテーブルは表示可能になり、アクセスできますが空です。