performance_schema
- パフォーマンスモニタリングのためのストレージエンジン
 
table_io_waits_summary_by_table
ユーザテーブル単位の読み込み、書き込みのリクエスト回数やレイテンシーなどを集計した情報を提供
例 : テーブルを作成し、INSERT 文を発行して、COUNT 関連のカラムを確認
データベースの作成
mysql> CREATE DATABASE test; Query OK, 1 row affected (0.02 sec) Database changedテーブルの作成
mysql> CREATE TABLE t0 (id serial, id2 int); Query OK, 0 rows affected (0.05 sec)INSERT 文の実行
mysql> INSERT INTO t0 (id2) VALUES (1),(2); Query OK, 2 rows affected (0.03 sec) Records: 2 Duplicates: 0 Warnings: 0カラムの確認
mysql> SELECT OBJECT_NAME,COUNT_FETCH,COUNT_INSERT,COUNT_UPDATE,COUNT_DELETE FROM performance_schema.table_io_waits_summary_by_table WHERE OBJECT_NAME='t0'\G *************************** 1. row *************************** OBJECT_NAME: t0 COUNT_FETCH: 0 COUNT_INSERT: 2 COUNT_UPDATE: 0 COUNT_DELETE: 0 1 row in set (0.01 sec)- INSERT を 2 回実行しているので 2 になっている
 
SELECT を実行すると FETCH が増える
mysql> SELECT * FROM t0; +----+------+ | id | id2 | +----+------+ | 1 | 1 | | 2 | 2 | +----+------+ 2 rows in set (0.01 sec) mysql> SELECT OBJECT_NAME,COUNT_FETCH,COUNT_INSERT,COUNT_UPDATE,COUNT_DELETE FROM performance_schema.table_io_waits_summary_by_table WHERE OBJECT_NAME='t0'\G *************************** 1. row *************************** OBJECT_NAME: t0 COUNT_FETCH: 2 COUNT_INSERT: 2 COUNT_UPDATE: 0 COUNT_DELETE: 0 1 row in set (0.01 sec)
file_summary_by_instance
- ファイルごとの読み込み・書き込みの IO 回数やレイテンシーなどを集計した情報を提供
 - ファイル単位の IO 集計なので,ユーザテーブル(InnoDB テーブルであれば ibd ファイル) だけではなく、エラーログ、バイナリーログや InnoDB ログファイルなどの MySQL が IO を行うすべてのファイルの情報を提供
 
sys.schema_table_statistics
- table_io_waits_summary_by_table と file_summary_by_instance をジョインして,ユーザテーブル単位の読み込みや書き込みのリクエスト回数,読み込みや書き込みの IO 回数やレイテンシーを表示してくれる
 
mysql> select * from sys.schema_table_statistics where table_name='t0'\G
*************************** 1. row ***************************
     table_schema: test
       table_name: t0
    total_latency: 612.89 us
     rows_fetched: 2
    fetch_latency: 32.42 us
    rows_inserted: 2
   insert_latency: 580.47 us
     rows_updated: 0
   update_latency: 0 ps
     rows_deleted: 0
   delete_latency: 0 ps
 io_read_requests: 0
          io_read: 0 bytes
  io_read_latency: 0 ps
io_write_requests: 8
         io_write: 224.00 KiB
 io_write_latency: 1.14 ms
 io_misc_requests: 7
  io_misc_latency: 11.96 ms
1 row in set (0.14 sec)