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


MySQL 8.0 リファレンスマニュアル  /  ...  /  INFORMATION_SCHEMA INNODB_CMP_PER_INDEX および INNODB_CMP_PER_INDEX_RESET テーブル

26.51.7 INFORMATION_SCHEMA INNODB_CMP_PER_INDEX および INNODB_CMP_PER_INDEX_RESET テーブル

INNODB_CMP_PER_INDEX テーブルおよび INNODB_CMP_PER_INDEX_RESET テーブルでは、compressed InnoDB のテーブルおよびインデックスに関連する操作のステータス情報が提供され、データベース、テーブルおよびインデックスの組合せごとに個別の統計が提供されるため、特定のテーブルの圧縮のパフォーマンスおよび有用性を評価できます。

圧縮 InnoDB テーブルについては、テーブルデータとすべてのセカンダリインデックスの両方が圧縮されます。 このコンテキストでは、テーブルデータは、単なる別のインデックス、たまたますべてのカラムが含まれているインデックス (クラスタ化されたインデックス) として扱われます。

INNODB_CMP_PER_INDEX テーブルと INNODB_CMP_PER_INDEX_RESET テーブルには、次のカラムがあります:

  • DATABASE_NAME

    適用可能なテーブルを含むスキーマ (データベース)。

  • TABLE_NAME

    圧縮統計を監視するテーブル。

  • INDEX_NAME

    圧縮統計を監視するインデックス。

  • COMPRESS_OPS

    試行された圧縮操作の数。 空のページが作成されたり、非圧縮変更ログ用の領域が不足したりするたびに、ページが圧縮されます。

  • COMPRESS_OPS_OK

    成功した圧縮操作の数。 COMPRESS_OPS 値から引き算すると、圧縮の失敗の回数が求められます。 COMPRESS_OPS 値で割り算すると、圧縮の失敗の割合が求められます。

  • COMPRESS_TIME

    このインデックスのデータの圧縮に使用される合計時間 (秒)。

  • UNCOMPRESS_OPS

    実行された圧縮解除操作の数。 圧縮 InnoDB ページは、圧縮が失敗した場合はいつでも圧縮解除されます。または、バッファープールにおいてはじめて圧縮ページへのアクセスがあり、圧縮解除されたページが存在しないときに圧縮解除されます。

  • UNCOMPRESS_TIME

    このインデックスのデータを圧縮解除するために使用される合計時間 (秒)。

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_CMP_PER_INDEX\G
*************************** 1. row ***************************
  database_name: employees
     table_name: salaries
     index_name: PRIMARY
   compress_ops: 0
compress_ops_ok: 0
  compress_time: 0
 uncompress_ops: 23451
uncompress_time: 4
*************************** 2. row ***************************
  database_name: employees
     table_name: salaries
     index_name: emp_no
   compress_ops: 0
compress_ops_ok: 0
  compress_time: 0
 uncompress_ops: 1597
uncompress_time: 0

メモ

  • これらのテーブルを使用して、特定のテーブルまたはインデックス、あるいはその両方について InnoDB テーブル圧縮の有効性を測定します。

  • これらのテーブルをクエリーするには PROCESS 権限が必要です。

  • INFORMATION_SCHEMA COLUMNS テーブルまたは SHOW COLUMNS ステートメントを使用して、データ型やデフォルト値など、これらのテーブルのカラムに関する追加情報を表示します。

  • すべてのインデックスで個別に測定値を収集すると、大幅なパフォーマンスオーバーヘッドが発生するので、デフォルトでは INNODB_CMP_PER_INDEX および INNODB_CMP_PER_INDEX_RESET 統計は収集されません。 監視する圧縮テーブルに対して操作を実行する前に、innodb_cmp_per_index_enabled システム変数を有効にする必要があります。

  • 使用法については、セクション15.9.1.4「実行時の InnoDB テーブル圧縮の監視」およびセクション15.15.1.3「圧縮情報スキーマテーブルの使用」を参照してください。 InnoDB テーブルの圧縮に関する一般情報については、セクション15.9「InnoDB のテーブルおよびページの圧縮」を参照してください。


関連キーワード:  テーブル, SCHEMA, INFORMATION, INNODB, 圧縮, CMP, InnoDB, インデックス, TABLE, COLUMNS