このページは機械翻訳したものです。
events_statements_current テーブルには、現在のステートメントイベントが含まれます。 テーブルには、スレッドごとに最新のモニター対象ステートメントイベントの現在のステータスを示す 1 行が格納されるため、テーブルサイズを構成するためのシステム変数はありません。
ステートメントイベント行を格納するテーブルのうち、events_statements_current はもっとも基本的です。 ステートメントイベント行を格納するほかのテーブルは論理的に現在のイベントから派生します。 たとえば、events_statements_history テーブルと events_statements_history_long テーブルは、終了した最新のステートメントイベントのコレクションで、スレッド当たりの最大行数まで、およびすべてのスレッドにわたってグローバルに終了します。
3 つの events_statements_ イベントテーブル間の関係の詳細は、セクション27.9「現在および過去のイベントのパフォーマンススキーマテーブル」 を参照してください。
xxx
ステートメントイベントを収集するかどうかの構成については、セクション27.12.6「パフォーマンススキーマステートメントイベントテーブル」 を参照してください。
events_statements_current テーブルにはこれらのカラムがあります。
-
THREAD_ID、EVENT_IDイベントに関連付けられたスレッドとイベントの起動時のスレッドの現在のイベント番号。 ともに取得される
THREAD_IDとEVENT_IDの値によって、行が一意に識別されます。 同じ値のペアを持つ行は 2 つありません。 -
END_EVENT_IDこのカラムは、イベントの起動時に
NULLに設定され、イベントの終了時にスレッドの現在のイベント番号に更新されます。 -
EVENT_NAMEイベントが収集されたインストゥルメントの名前。 これは
setup_instrumentsテーブルからのNAME値です。 セクション27.6「パフォーマンススキーマインストゥルメント命名規則」に説明するように、インストゥルメント名には複数の部分があり、階層を形成することがあります。SQL ステートメントの場合、ステートメントが解析されるまで、
EVENT_NAME値は最初statement/com/Queryであり、その後セクション27.12.6「パフォーマンススキーマステートメントイベントテーブル」に説明するように、より適切な値に変更されます。 -
SOURCEイベントを生成した、インストゥルメントされたコードを格納するソースファイルの名前と、インストゥルメンテーションが行われたファイルの行番号。 これにより、ソースをチェックして、コードに含まれるものを正確に判断することができます。
-
TIMER_START、TIMER_END、TIMER_WAITイベントのタイミング情報。 これらの値の単位はピコ秒 (秒の 1 兆分の 1) です。
TIMER_STARTおよびTIMER_END値は、イベントのタイミングが開始されたときと終了したときを示します。TIMER_WAITはイベントの経過時間 (期間) です。イベントが終了していない場合、
TIMER_ENDは現在のタイマー値で、TIMER_WAITはこれまでに経過した時間です (TIMER_END-TIMER_START)。イベントが
TIMED = NOのインストゥルメントから生成されている場合、タイミング情報は収集されず、TIMER_START、TIMER_END、およびTIMER_WAITはすべてNULLになります。イベント時間の単位としてのピコ秒および時間値に影響する要因については、セクション27.4.1「パフォーマンススキーマイベントタイミング」を参照してください。
-
LOCK_TIMEテーブルロックの待機に費やされた時間。 この値はマイクロ秒で計算されますが、ほかのパフォーマンススキーマタイマーとの比較を容易にするため、ピコ秒に正規化されます。
-
SQL_TEXTSQL ステートメントのテキスト。 SQL ステートメントに関連付けられていないコマンドの場合、値は
NULLです。ステートメントの表示に使用できる最大領域は、デフォルトで 1024 バイトです。 この値を変更するには、サーバーの起動時に
performance_schema_max_sql_text_lengthシステム変数を設定します。 (この値を変更すると、他の「パフォーマンススキーマ」テーブルのカラムにも影響します。 セクション27.10「パフォーマンススキーマのステートメントダイジェストとサンプリング」を参照してください。) -
DIGESTステートメントは、64 16 進数文字の文字列、または
statements_digestコンシューマがnoの場合はNULLとして SHA-256 値をダイジェストします。 ステートメントダイジェストの詳細については、セクション27.10「パフォーマンススキーマのステートメントダイジェストとサンプリング」を参照してください。 -
DIGEST_TEXT正規化されたステートメントダイジェストテキスト (
statements_digestコンシューマがnoの場合はNULL)。 ステートメントダイジェストの詳細については、セクション27.10「パフォーマンススキーマのステートメントダイジェストとサンプリング」を参照してください。performance_schema_max_digest_lengthシステム変数は、ダイジェスト値の格納に使用できるセッション当たりの最大バイト数を決定します。 ただし、ダイジェストバッファ内のキーワードやリテラル値などのステートメント要素のエンコーディングにより、ステートメントダイジェストの表示長が使用可能なバッファサイズより長くなる場合があります。 したがって、ステートメントイベントテーブルのDIGEST_TEXTカラムから選択された値は、performance_schema_max_digest_length値を超えるように見える場合があります。 -
CURRENT_SCHEMAステートメントのデフォルトのデータベース、何もない場合は
NULL。 -
OBJECT_SCHEMA、OBJECT_NAME、OBJECT_TYPEネストしたステートメント (ストアドプログラム) の場合、これらのカラムには親ステートメントに関する情報が含まれます。 それ以外の場合は、
NULLです。 -
OBJECT_INSTANCE_BEGINこのカラムはステートメントを識別します。 この値はメモリー内のオブジェクトのアドレスです。
-
MYSQL_ERRNOステートメント診断領域からのステートメントエラー番号。
-
RETURNED_SQLSTATEステートメント診断領域からのステートメント SQLSTATE 値。
-
MESSAGE_TEXTステートメント診断領域からのステートメントエラーメッセージ。
-
ERRORSステートメントにエラーが発生したかどうか。 SQLSTATE 値が
00(完了) または01(警告) から始まる場合、値は 0 です。 SQLSTATE 値がほかの値の場合、値は 1 です。 -
WARNINGSステートメント診断領域からの警告数。
-
ROWS_AFFECTEDステートメントに影響を受けた行数。 「影響を受けた」の意味については、mysql_affected_rows()を参照してください。
-
ROWS_SENTステートメントから返された行数。
-
ROWS_EXAMINEDサーバーレイヤーによって検査された行数 (ストレージエンジン内部の処理はカウントされません)。
-
CREATED_TMP_DISK_TABLESCreated_tmp_disk_tablesステータス変数と同様ですが、ステートメントに固有です。 -
CREATED_TMP_TABLESCreated_tmp_tablesステータス変数と同様ですが、ステートメントに固有です。 -
SELECT_FULL_JOINSelect_full_joinステータス変数と同様ですが、ステートメントに固有です。 -
SELECT_FULL_RANGE_JOINSelect_full_range_joinステータス変数と同様ですが、ステートメントに固有です。 -
SELECT_RANGESelect_rangeステータス変数と同様ですが、ステートメントに固有です。 -
SELECT_RANGE_CHECKSelect_range_checkステータス変数と同様ですが、ステートメントに固有です。 -
SELECT_SCANSelect_scanステータス変数と同様ですが、ステートメントに固有です。 -
SORT_MERGE_PASSESSort_merge_passesステータス変数と同様ですが、ステートメントに固有です。 -
SORT_RANGESort_rangeステータス変数と同様ですが、ステートメントに固有です。 -
SORT_ROWSSort_rowsステータス変数と同様ですが、ステートメントに固有です。 -
SORT_SCANSort_scanステータス変数と同様ですが、ステートメントに固有です。 -
NO_INDEX_USEDステートメントがインデックスを使用せずにテーブルスキャンを実行した場合は 1、そうでない場合は 0。
-
NO_GOOD_INDEX_USEDサーバーがステートメントに使用する適切なインデックスを見つけられなかった場合は 1、そうでない場合は 0。 追加の情報については、セクション8.8.2「EXPLAIN 出力フォーマット」で、
EXPLAIN出力のExtraカラムのRange checked for each record値の説明を参照してください。 -
NESTING_EVENT_ID,NESTING_EVENT_TYPE,NESTING_EVENT_LEVELこれらの 3 つのカラムは、最上位 (ネストされていない) ステートメントおよびネストされたステートメント (ストアドプログラム内で実行される) に関する次のような情報を提供するために、他のカラムとともに使用されます。
トップレベルのステートメントの場合:
OBJECT_TYPE = NULL OBJECT_SCHEMA = NULL OBJECT_NAME = NULL NESTING_EVENT_ID = NULL NESTING_EVENT_TYPE = NULL NESTING_LEVEL = 0ネストしたステートメントの場合:
OBJECT_TYPE = the parent statement object type OBJECT_SCHEMA = the parent statement object schema OBJECT_NAME = the parent statement object name NESTING_EVENT_ID = the parent statement EVENT_ID NESTING_EVENT_TYPE = 'STATEMENT' NESTING_LEVEL = the parent statement NESTING_LEVEL plus one -
STATEMENT_IDSQL レベルでサーバーによって保持されるクエリー ID。 これらの ID はアトミックに増分されるグローバルカウンタを使用して生成されるため、この値はサーバーインスタンスに対して一意です。 このカラムは、MySQL 8.0.14 で追加されました。
events_statements_current テーブルには次のインデックスがあります:
主キー (
THREAD_ID、EVENT_ID)
TRUNCATE TABLE は events_statements_current テーブルに対して許可されています。 行が削除されます。