-- Create an uncompressed table with a million or two rows. (3 millions row) CREATE TABLE big_table AS SELECT * FROM information_schema.columns; INSERT INTO big_table SELECT * FROM big_table; INSERT INTO big_table SELECT * FROM big_table; INSERT INTO big_table SELECT * FROM big_table; INSERT INTO big_table SELECT * FROM big_table; INSERT INTO big_table SELECT * FROM big_table; INSERT INTO big_table SELECT * FROM big_table; INSERT INTO big_table SELECT * FROM big_table; INSERT INTO big_table SELECT * FROM big_table; INSERT INTO big_table SELECT * FROM big_table; INSERT INTO big_table SELECT * FROM big_table; -- How many rows does this has? SELECT count(*) FROM information_schema.columns; -- Create a new table that is the same but compressed CREATE TABLE key_block_size_8 LIKE big_table; ALTER TABLE key_block_size_8 key_block_size=8 row_format=compressed; -- Insert 3 millions row into the table to compressed INSERT INTO key_block_size_8 SELECT * FROM big_table; commit; -- Create a new table that is the same but compressed 16KB block size CREATE TABLE key_block_size_16 LIKE big_table; ALTER TABLE key_block_size_16 key_block_size=16 row_format=compressed; -- Insert 3 millions row into the table to compressed INSERT INTO key_block_size_16 SELECT * FROM big_table; commit; -- Create a new table that is the same but compressed 4KB block size CREATE TABLE key_block_size_4 LIKE big_table; ALTER TABLE key_block_size_4 key_block_size=4 row_format=compressed; -- Insert 3 millions row into the table to compressed INSERT INTO key_block_size_4 SELECT * FROM big_table; commit; drop table key_block_size_4; SELECT * FROM information_schema.INNODB_CMP; SELECT * FROM information_schema.INNODB_CMPMEM; select count(*) as count_row from big_table; select count(*) as count_row from key_block_size_8; -- For the console -- SELECT * FROM information_schema.INNODB_CMPMEM\G -- SELECT * FROM information_schema.INNODB_CMP\G