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


27.12.18.7 ファイル I/O サマリーテーブル

パフォーマンススキーマは、I/O 操作に関する情報を集約するファイル I/O サマリーテーブルを保守します。

ファイル I/O イベントサマリー情報の例:

mysql> SELECT * FROM performance_schema.file_summary_by_event_name\G
...
*************************** 2. row ***************************
               EVENT_NAME: wait/io/file/sql/binlog
               COUNT_STAR: 31
           SUM_TIMER_WAIT: 8243784888
           MIN_TIMER_WAIT: 0
           AVG_TIMER_WAIT: 265928484
           MAX_TIMER_WAIT: 6490658832
...
mysql> SELECT * FROM performance_schema.file_summary_by_instance\G
...
*************************** 2. row ***************************
                FILE_NAME: /var/mysql/share/english/errmsg.sys
               EVENT_NAME: wait/io/file/sql/ERRMSG
               EVENT_NAME: wait/io/file/sql/ERRMSG
    OBJECT_INSTANCE_BEGIN: 4686193384
               COUNT_STAR: 5
           SUM_TIMER_WAIT: 13990154448
           MIN_TIMER_WAIT: 26349624
           AVG_TIMER_WAIT: 2798030607
           MAX_TIMER_WAIT: 8150662536
...

各ファイル I/O サマリーテーブルには、テーブルのイベントの集計方法を示す 1 つまたは複数のグループ化カラムがあります。 イベント名は、setup_instruments テーブル内のイベントインストゥルメントの名前を参照します:

  • file_summary_by_event_name には EVENT_NAME カラムがあります。 各行は特定のイベント名のイベントを要約します。

  • file_summary_by_instance には、FILE_NAME、EVENT_NAME および OBJECT_INSTANCE_BEGIN カラムがあります。 各行は特定のファイルおよびイベント名のイベントを要約します。

各ファイル I/O サマリーテーブルには、集約された値を含む次のサマリーカラムがあります。 一部のカラムは一般的で、より詳細なカラムの値の合計と同じ値を持ちます。 このように、低レベルカラムを合計するユーザー定義ビューを必要とせずに、高レベルでのアグリゲーションを直接取得できます。

  • COUNT_STAR、SUM_TIMER_WAIT、MIN_TIMER_WAIT、AVG_TIMER_WAIT、MAX_TIMER_WAIT

    これらのカラムはすべての I/O 操作を集計します。

  • COUNT_READ、SUM_TIMER_READ、MIN_TIMER_READ、AVG_TIMER_READ、MAX_TIMER_READ、SUM_NUMBER_OF_BYTES_READ

    これらのカラムは FGETS、FGETC、FREAD、および READ を含むすべての読み取り操作を集計します。

  • COUNT_WRITE、SUM_TIMER_WRITE、MIN_TIMER_WRITE、AVG_TIMER_WRITE、MAX_TIMER_WRITE、SUM_NUMBER_OF_BYTES_WRITE

    これらのカラムは FPUTS、FPUTC、FPRINTF、VFPRINTF、FWRITE、および PWRITE を含むすべての書き込み操作を集計します。

  • COUNT_MISC、SUM_TIMER_MISC、MIN_TIMER_MISC、AVG_TIMER_MISC、MAX_TIMER_MISC

    これらのカラムは CREATE、DELETE、OPEN、CLOSE、STREAM_OPEN、STREAM_CLOSE、SEEK、TELL、FLUSH、STAT、FSTAT、CHSIZE、RENAME、および SYNC を含むその他のすべての I/O 操作を集計します。 これらの操作のバイトカウントはありません。

ファイル I/O サマリーテーブルには、次のインデックスがあります:

  • file_summary_by_event_name:

    • 主キー (EVENT_NAME)

  • file_summary_by_instance:

    • 主キー (OBJECT_INSTANCE_BEGIN)

    • (FILE_NAME) のインデックス

    • (EVENT_NAME) のインデックス

TRUNCATE TABLE はファイル I/O サマリーテーブルに使用できます。 それは、行を削除するのではなく、サマリーカラムを 0 にリセットします。

MySQL サーバーでは、複数の手法を使用して、ファイルから読み取られた情報をキャッシュすることで I/O 操作を回避するため、I/O イベントが発生すると予想されるステートメントではそうしない可能性があります。 キャッシュをフラッシュするか、サーバーを再起動して、その状態をリセットすることによって、I/O を発生させることができる場合があります。


関連キーワード:  テーブル, パフォーマンス, スキーマ, TIMER, サマリー, イベント, events, WAIT, カラム, replication