このページは機械翻訳したものです。
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_SCHEMACOLUMNSテーブルまたは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 のテーブルおよびページの圧縮」を参照してください。