MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

27.12.19.10 スレッドテーブル

threads テーブルは各サーバースレッドの行を格納します。 各行にはスレッドに関する情報が含まれ、監視および履歴イベントロギングが有効かどうかが示されます:

mysql> SELECT * FROM performance_schema.threads\G
*************************** 1. row ***************************
          THREAD_ID: 1
               NAME: thread/sql/main
               TYPE: BACKGROUND
     PROCESSLIST_ID: NULL
   PROCESSLIST_USER: NULL
   PROCESSLIST_HOST: NULL
     PROCESSLIST_DB: NULL
PROCESSLIST_COMMAND: NULL
   PROCESSLIST_TIME: 80284
  PROCESSLIST_STATE: NULL
   PROCESSLIST_INFO: NULL
   PARENT_THREAD_ID: NULL
               ROLE: NULL
       INSTRUMENTED: YES
            HISTORY: YES
    CONNECTION_TYPE: NULL
       THREAD_OS_ID: 489803
     RESOURCE_GROUP: SYS_default
...
*************************** 4. row ***************************
          THREAD_ID: 51
               NAME: thread/sql/one_connection
               TYPE: FOREGROUND
     PROCESSLIST_ID: 34
   PROCESSLIST_USER: isabella
   PROCESSLIST_HOST: localhost
     PROCESSLIST_DB: performance_schema
PROCESSLIST_COMMAND: Query
   PROCESSLIST_TIME: 0
  PROCESSLIST_STATE: Sending data
   PROCESSLIST_INFO: SELECT * FROM performance_schema.threads
   PARENT_THREAD_ID: 1
               ROLE: NULL
       INSTRUMENTED: YES
            HISTORY: YES
    CONNECTION_TYPE: SSL/TLS
       THREAD_OS_ID: 755399
     RESOURCE_GROUP: USR_default
...

パフォーマンススキーマが初期化されると、存在するスレッドに基づいて threads テーブルが生成されます。 その後、サーバーがスレッドを作成するたびに新しい行が追加されます。

新しいスレッドの INSTRUMENTED および HISTORY カラムの値は、setup_actors テーブルの内容によって決まります。 setup_actors テーブルを使用してこれらのカラムを制御する方法の詳細は、セクション27.4.6「スレッドによる事前フィルタリング」 を参照してください。

スレッドの終了時に、threads テーブルからの行の削除が行われます。 クライアントセッションに関連付けられたスレッドでは、セッションの終了時に削除が行われます。 クライアントで自動再接続が有効になっていて、切断後にセッションが再接続された場合、セッションは異なる PROCESSLIST_ID 値を持つ threads テーブルの新しい行に関連付けられます。 新しいスレッドの INSTRUMENTED および HISTORY の初期値は、元のスレッドの値と異なる場合があります: 一方、setup_actors テーブルは変更された可能性があり、行の初期化後に元のスレッドの INSTRUMENTED または HISTORY の値が変更された場合、変更は新しいスレッドに引き継がれません。

スレッドモニタリング (スレッドによって実行されるイベントがインストゥルメントされているかどうか) および履歴イベントロギングを有効または無効にできます。 新しいフォアグラウンドスレッドの INSTRUMENTED および HISTORY の初期値を制御するには、setup_actors テーブルを使用します。 既存のスレッドのこれらの側面を制御するには、threads テーブルの行の INSTRUMENTED および HISTORY カラムを設定します。 (スレッドモニタリングおよび履歴イベントロギングが発生する条件の詳細は、INSTRUMENTED および HISTORY のカラムの説明を参照してください。)

接頭辞が PROCESSLIST_の名前と他のプロセス情報ソースとの threads テーブルのカラムの比較は、プロセス情報のソース を参照してください。

重要

threads テーブル以外のスレッド情報ソースの場合、他のユーザーのスレッドに関する情報は、現在のユーザーが PROCESS 権限を持っている場合にのみ表示されます。 これは threads テーブルには当てはまりません。テーブルの SELECT 権限を持つすべてのユーザーに、すべての行が表示されます。 threads テーブルにアクセスして他のユーザーのスレッドを表示できないようにするユーザーには、そのユーザーに対する SELECT 権限を付与しないでください。

threads テーブルにはこれらのカラムがあります。

threads テーブルには次のインデックスがあります:

TRUNCATE TABLE は、threads テーブルに対して許可されていません。