INNODB_CMPMEM
テーブルおよび INNODB_CMPMEM_RESET
テーブルは、InnoDB
buffer pool 内の圧縮された pages のステータス情報を提供します。
INNODB_CMPMEM
テーブルと INNODB_CMPMEM_RESET
テーブルには、次のカラムがあります:
-
PAGE_SIZE
バイト単位のブロックサイズ。 このテーブルの各レコードは、このサイズのブロックを記述します。
-
BUFFER_POOL_INSTANCE
バッファープールインスタンスの一意の識別子。
-
PAGES_USED
現在使用中のサイズ
PAGE_SIZE
のブロック数。 -
PAGES_FREE
現在割当て可能なサイズ
PAGE_SIZE
のブロック数。 このカラムは、メモリープールの外部断片化を示します。 これらの数値は最大 1 にしてください。 -
RELOCATION_OPS
サイズが
PAGE_SIZE
のブロックが再配置された回数。 バディーシステムは、より大きな解放されたブロックを生成しようとするときに、解放されたブロックの割り当て済みの「バディー」を再配置できます。INNODB_CMPMEM_RESET
テーブルから読み取ると、このカウントはリセットされます。 -
RELOCATION_TIME
サイズが
PAGE_SIZE
のブロックの再配置に使用される合計時間 (マイクロ秒)。 テーブルINNODB_CMPMEM_RESET
から読み取ると、このカウントはリセットされます。
例
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_CMPMEM\G
*************************** 1. row ***************************
page_size: 1024
buffer_pool_instance: 0
pages_used: 0
pages_free: 0
relocation_ops: 0
relocation_time: 0
*************************** 2. row ***************************
page_size: 2048
buffer_pool_instance: 0
pages_used: 0
pages_free: 0
relocation_ops: 0
relocation_time: 0
*************************** 3. row ***************************
page_size: 4096
buffer_pool_instance: 0
pages_used: 0
pages_free: 0
relocation_ops: 0
relocation_time: 0
*************************** 4. row ***************************
page_size: 8192
buffer_pool_instance: 0
pages_used: 7673
pages_free: 15
relocation_ops: 4638
relocation_time: 0
*************************** 5. row ***************************
page_size: 16384
buffer_pool_instance: 0
pages_used: 0
pages_free: 0
relocation_ops: 0
relocation_time: 0
メモ
これらのテーブルを使用して、データベース内の
InnoDB
テーブルの圧縮の有効性を測定します。このテーブルをクエリーするには
PROCESS
権限が必要です。INFORMATION_SCHEMA
COLUMNS
テーブルまたはSHOW COLUMNS
ステートメントを使用して、データ型やデフォルト値など、このテーブルのカラムに関する追加情報を表示します。使用法については、セクション15.9.1.4「実行時の InnoDB テーブル圧縮の監視」およびセクション15.15.1.3「圧縮情報スキーマテーブルの使用」を参照してください。
InnoDB
テーブルの圧縮に関する一般情報については、セクション15.9「InnoDB のテーブルおよびページの圧縮」を参照してください。