MySQL 8.0 リファレンスマニュアル


27.12.18.1 待機イベント要約テーブル

パフォーマンススキーマは現在および最近の待機イベントを収集するためのテーブルを保守し、その情報をサマリーテーブルに集計します。セクション27.12.4「パフォーマンススキーマ待機イベントテーブル」に待機サマリーが基づいているイベントについて説明しています。 待機イベントの内容、現在および最近の待機イベントテーブル、およびデフォルトで無効になっている待機イベント収集の制御方法については、その説明を参照してください。

待機イベントサマリー情報の例:

mysql> SELECT *
       FROM performance_schema.events_waits_summary_global_by_event_name\G
...
*************************** 6. row ***************************
    EVENT_NAME: wait/synch/mutex/sql/BINARY_LOG::LOCK_index
    COUNT_STAR: 8
SUM_TIMER_WAIT: 2119302
MIN_TIMER_WAIT: 196092
AVG_TIMER_WAIT: 264912
MAX_TIMER_WAIT: 569421
...
*************************** 9. row ***************************
    EVENT_NAME: wait/synch/mutex/sql/hash_filo::lock
    COUNT_STAR: 69
SUM_TIMER_WAIT: 16848828
MIN_TIMER_WAIT: 0
AVG_TIMER_WAIT: 244185
MAX_TIMER_WAIT: 735345
...

各待機イベントサマリーテーブルには、テーブルでのイベントの集計方法を示す 1 つ以上のグループ化カラムがあります。 イベント名は、setup_instruments テーブル内のイベントインストゥルメントの名前を参照します:

  • events_waits_summary_by_account_by_event_name には、EVENT_NAMEUSER および HOST カラムがあります。 各行には、特定のアカウント (ユーザーとホストの組合せ) およびイベント名のイベントが要約されます。

  • events_waits_summary_by_host_by_event_name には、EVENT_NAME カラムおよび HOST カラムがあります。 各行には、特定のホストおよびイベント名のイベントが要約されます。

  • events_waits_summary_by_instance には EVENT_NAME および OBJECT_INSTANCE_BEGIN カラムがあります。 各行は特定のイベント名とオブジェクトのイベントを要約します。 インストゥルメントを使用して複数のインスタンスを作成する場合、各インスタンスは一意の OBJECT_INSTANCE_BEGIN 値を持ち、このテーブルに個別にまとめられます。

  • events_waits_summary_by_thread_by_event_name には THREAD_ID および EVENT_NAME カラムがあります。 各行は特定のスレッドおよびイベント名のイベントを要約します。

  • events_waits_summary_by_user_by_event_name には、EVENT_NAME カラムおよび USER カラムがあります。 各行には、特定のユーザーおよびイベント名のイベントが要約されます。

  • events_waits_summary_global_by_event_name には EVENT_NAME カラムがあります。 各行は特定のイベント名のイベントを要約します。 インストゥルメントを使用して、インストゥルメントされるオブジェクトの複数のインスタンスを作成できます。 たとえば、接続ごとに作成される相互排他ロックのインストゥルメントがある場合、接続と同じ数のインスタンスがあります。 インストゥルメントのサマリー行は、これらのすべてのインスタンス全体を要約します。

各待機イベントサマリーテーブルには、集計値を含む次のサマリーカラムがあります:

  • COUNT_STAR

    要約されたイベントの数。 この値には、時間付きか時間なしかに関係なく、すべてのイベントが含まれます。

  • SUM_TIMER_WAIT

    要約された時間付きイベントの合計待機時間。 時間なしイベントは NULL の待機時間を持つため、この値は時間付きイベントに対してのみ計算されます。 同じことがほかの xxx_TIMER_WAIT 値にも当てはまります。

  • MIN_TIMER_WAIT

    要約された時間付きイベントの最小待機時間。

  • AVG_TIMER_WAIT

    要約された時間付きイベントの平均待機時間。

  • MAX_TIMER_WAIT

    要約された時間付きイベントの最大待機時間。

待機イベントのサマリーテーブルには、次のインデックスがあります:

  • events_waits_summary_by_account_by_event_name:

    • 主キー (USER, HOST, EVENT_NAME)

  • events_waits_summary_by_host_by_event_name:

    • 主キー (HOSTEVENT_NAME)

  • events_waits_summary_by_instance:

    • 主キー (OBJECT_INSTANCE_BEGIN)

    • (EVENT_NAME) のインデックス

  • events_waits_summary_by_thread_by_event_name:

    • 主キー (THREAD_IDEVENT_NAME)

  • events_waits_summary_by_user_by_event_name:

    • 主キー (USEREVENT_NAME)

  • events_waits_summary_global_by_event_name:

    • 主キー (EVENT_NAME)

TRUNCATE TABLE は待機サマリーテーブルに使用できます。 これには次の効果があります:

  • アカウント、ホストまたはユーザーごとに集計されないサマリーテーブルの場合、切捨てによって、行が削除されるのではなくサマリーカラムがゼロにリセットされます。

  • アカウント、ホストまたはユーザー別に集計されたサマリーテーブルの場合、切捨てによって、接続のないアカウント、ホストまたはユーザーの行が削除され、残りの行のサマリーカラムがゼロにリセットされます。

また、アカウント、ホスト、ユーザーまたはスレッド別に集計された各待機サマリーテーブルは、依存する接続テーブルの切捨てまたは events_waits_summary_global_by_event_name の切捨てによって暗黙的に切り捨てられます。 詳細は、セクション27.12.8「パフォーマンススキーマ接続テーブル」を参照してください。


関連キーワード:  テーブル, イベント, パフォーマンス, スキーマ, events, 待機, waits, 要約, サマリー, summary