select @@global.innodb_log_compressed_pages into @save_innodb_log_compressed_pages; SET @@global.innodb_log_compressed_pages=1; SET GLOBAL innodb_cmp_per_index_enabled=ON; SELECT * FROM information_schema.innodb_cmp_per_index; CREATE TABLE t ( a INT, b VARCHAR(512), c VARCHAR(16), PRIMARY KEY (a), INDEX (b(512)), INDEX (c(16)) ) charset latin1 ENGINE=INNODB KEY_BLOCK_SIZE=2; SELECT database_name, table_name, index_name, compress_ops, compress_ops_ok, uncompress_ops FROM information_schema.innodb_cmp_per_index ORDER BY 1, 2, 3; database_name test table_name t index_name b compress_ops 1 compress_ops_ok 1 uncompress_ops 0 database_name test table_name t index_name c compress_ops 1 compress_ops_ok 1 uncompress_ops 0 database_name test table_name t index_name PRIMARY compress_ops 1 compress_ops_ok 1 uncompress_ops 0 BEGIN; COMMIT; ALTER TABLE t DROP INDEX c; CREATE USER 'tuser01'@'localhost' IDENTIFIED BY 'cDJvI9s_Uq'; FLUSH PRIVILEGES; SELECT * FROM information_schema.innodb_cmp_per_index; ERROR 42000: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation DROP USER 'tuser01'@'localhost'; SELECT database_name, table_name, index_name, CASE WHEN compress_ops=47 and @@innodb_compression_level IN (4,8,9) THEN 65 ELSE compress_ops END as compress_ops, CASE WHEN compress_ops_ok=47 and @@innodb_compression_level IN (4,8,9) THEN 65 ELSE compress_ops_ok END as compress_ops_ok, uncompress_ops FROM information_schema.innodb_cmp_per_index ORDER BY 1, 2, 3; database_name test table_name t index_name b compress_ops 43 compress_ops_ok 43 uncompress_ops 0 database_name test table_name t index_name PRIMARY compress_ops 80 compress_ops_ok 80 uncompress_ops 0 SET GLOBAL innodb_log_compressed_pages=@save_innodb_log_compressed_pages; DROP TABLE t; SET GLOBAL innodb_cmp_per_index_enabled=default;