このテーブルには、スレッドプール内のスレッドグループごとに 1 行存在します。それぞれの行には、グループの現在の状態に関する情報が表示されます。テーブルには次のカラムがあります。
-
TP_GROUP_ID
スレッドグループ ID です。これはテーブル内の一意のキーです。
-
CONSUMER THREADS
コンシューマスレッドの数です。アクティブなスレッドが停止またはブロックされると、実行開始可能なスレッドが最大 1 つ存在します。
-
RESERVE_THREADS
予約状態のスレッドの数です。これは、新しいスレッドをウェイクする必要が生じ、コンシューマスレッドがなくなるまで開始されないことを意味します。これは、通常の操作で必要になる数よりも多くのスレッドをスレッドグループが作成したときに、ほとんどのスレッドが最終的に達する状態です。多くの場合、スレッドグループは短い間追加スレッドを必要とし、その後しばらくの間はふたたび必要とすることはありません。この場合には予約状態になり、ふたたび必要とされるまでその状態のままです。ある程度のメモリーリソースをべつに使用しますが、追加のコンピューティングリソースは必要ありません。
-
CONNECTION_COUNT
このスレッドグループを使用した接続の数です。
-
QUEUED_QUERIES
優先度の高いキューで待機しているステートメントの数です。
-
QUEUED_TRANSACTIONS
優先度の低いキューで待機しているステートメントの数です。これらは、開始されていないトランザクションの初期ステートメントなので、キューに入れられたトランザクションも表します。
-
STALL_LIMIT
スレッドグループに関する
thread_pool_stall_limit
変数の値です。これはすべてのスレッドグループで同じ値です。 -
PRIO_KICKUP_TIMER
スレッドグループに関する
thread_pool_prio_kickup_timer
の値です。これはすべてのスレッドグループで同じ値です。 -
ALGORITHM
スレッドグループに関する
thread_pool_algorithm
の値です。これはすべてのスレッドグループで同じ値です。 -
THREAD_COUNT
このスレッドグループの一部としてスレッドプール内で開始されたスレッドの数です。
-
ACTIVE_THREAD_COUNT
ステートメントを実行しているアクティブなスレッドの数です。
-
MAX_THREAD_IDS_IN_GROUP
グループ内のスレッドの最大スレッド ID です。これは、
TP_THREAD_GROUP_STATE
テーブルから選択したときのスレッドのMAX(TP_THREAD_NUMBER)
と同じです。つまり、次の 2 つのクエリーは同等です。SELECT TP_GROUP_ID, MAX_THREAD_IDS_IN_GROUP FROM TP_THREAD_GROUP_STATE; SELECT TP_GROUP_ID, MAX(TP_THREAD_NUMBER) FROM TP_THREAD_STATE GROUP BY TP_GROUP_ID;
-
STALLED_THREAD_COUNT
停止したスレッドグループ内のステートメントの数です。停止したステートメントが実行している可能性はありますが、スレッドプールから見ると停止して、進行していません。長時間実行しているステートメントはすぐにこのカテゴリで終了します。
-
WAITING_THREAD_NUMBER
スレッドグループ内のステートメントのポーリングを処理するスレッドがある場合、これにより、このスレッドグループ内のスレッド番号が指定されます。このスレッドがステートメントを実行している可能性があります。
-
OLDEST_QUEUED
もっとも古いキューに入れられたステートメントが実行待機した時間です (ミリ秒単位)。