set global innodb_compression_algorithm = 4; create table innodb_compressed(c1 int, b char(20)) engine=innodb row_format=compressed key_block_size=8; show warnings; Level Code Message create table innodb_normal (c1 int, b char(20)) engine=innodb; show warnings; Level Code Message create table innodb_page_compressed1 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=1; show warnings; Level Code Message show create table innodb_page_compressed1; Table Create Table innodb_page_compressed1 CREATE TABLE `innodb_page_compressed1` ( `c1` int(11) DEFAULT NULL, `b` char(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `page_compressed`=1 `page_compression_level`=1 create table innodb_page_compressed2 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=2; show warnings; Level Code Message show create table innodb_page_compressed2; Table Create Table innodb_page_compressed2 CREATE TABLE `innodb_page_compressed2` ( `c1` int(11) DEFAULT NULL, `b` char(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `page_compressed`=1 `page_compression_level`=2 create table innodb_page_compressed3 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=3; show warnings; Level Code Message show create table innodb_page_compressed3; Table Create Table innodb_page_compressed3 CREATE TABLE `innodb_page_compressed3` ( `c1` int(11) DEFAULT NULL, `b` char(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `page_compressed`=1 `page_compression_level`=3 create table innodb_page_compressed4 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=4; show warnings; Level Code Message show create table innodb_page_compressed4; Table Create Table innodb_page_compressed4 CREATE TABLE `innodb_page_compressed4` ( `c1` int(11) DEFAULT NULL, `b` char(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `page_compressed`=1 `page_compression_level`=4 create table innodb_page_compressed5 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=5; show warnings; Level Code Message show create table innodb_page_compressed5; Table Create Table innodb_page_compressed5 CREATE TABLE `innodb_page_compressed5` ( `c1` int(11) DEFAULT NULL, `b` char(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `page_compressed`=1 `page_compression_level`=5 create table innodb_page_compressed6 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=6; show warnings; Level Code Message show create table innodb_page_compressed6; Table Create Table innodb_page_compressed6 CREATE TABLE `innodb_page_compressed6` ( `c1` int(11) DEFAULT NULL, `b` char(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `page_compressed`=1 `page_compression_level`=6 create table innodb_page_compressed7 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=7; show warnings; Level Code Message show create table innodb_page_compressed7; Table Create Table innodb_page_compressed7 CREATE TABLE `innodb_page_compressed7` ( `c1` int(11) DEFAULT NULL, `b` char(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `page_compressed`=1 `page_compression_level`=7 create table innodb_page_compressed8 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=8; show warnings; Level Code Message show create table innodb_page_compressed8; Table Create Table innodb_page_compressed8 CREATE TABLE `innodb_page_compressed8` ( `c1` int(11) DEFAULT NULL, `b` char(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `page_compressed`=1 `page_compression_level`=8 create table innodb_page_compressed9 (c1 int, b char(20)) engine=innodb page_compressed=1 page_compression_level=9; show warnings; Level Code Message show create table innodb_page_compressed9; Table Create Table innodb_page_compressed9 CREATE TABLE `innodb_page_compressed9` ( `c1` int(11) DEFAULT NULL, `b` char(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `page_compressed`=1 `page_compression_level`=9 create procedure innodb_insert_proc (repeat_count int) begin declare current_num int; set current_num = 0; while current_num < repeat_count do insert into innodb_normal values(current_num,'testing..'); set current_num = current_num + 1; end while; end// commit; set autocommit=0; call innodb_insert_proc(5000); commit; set autocommit=1; select count(*) from innodb_normal; count(*) 5000 insert into innodb_compressed select * from innodb_normal; insert into innodb_page_compressed1 select * from innodb_normal; insert into innodb_page_compressed2 select * from innodb_normal; insert into innodb_page_compressed3 select * from innodb_normal; insert into innodb_page_compressed4 select * from innodb_normal; insert into innodb_page_compressed5 select * from innodb_normal; insert into innodb_page_compressed6 select * from innodb_normal; insert into innodb_page_compressed7 select * from innodb_normal; insert into innodb_page_compressed8 select * from innodb_normal; insert into innodb_page_compressed9 select * from innodb_normal; commit; select count(*) from innodb_compressed; count(*) 5000 select count(*) from innodb_page_compressed1; count(*) 5000 select count(*) from innodb_page_compressed1 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed2 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed3 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed4 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed5 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed6 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed7 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed8 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed9 where c1 < 500000; count(*) 5000 alter table innodb_normal page_compressed=1 page_compression_level=8, algorithm=instant; show warnings; Level Code Message show create table innodb_normal; Table Create Table innodb_normal CREATE TABLE `innodb_normal` ( `c1` int(11) DEFAULT NULL, `b` char(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `page_compressed`=1 `page_compression_level`=8 alter table innodb_compressed row_format=default page_compressed=1 page_compression_level=8 key_block_size=0, algorithm=instant; ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Changing table options requires the table to be rebuilt. Try ALGORITHM=INPLACE alter table innodb_compressed row_format=default page_compressed=1 page_compression_level=8 key_block_size=0, algorithm=nocopy; ERROR 0A000: ALGORITHM=NOCOPY is not supported. Reason: Changing table options requires the table to be rebuilt. Try ALGORITHM=INPLACE alter table innodb_compressed row_format=default page_compressed=1 page_compression_level=8 key_block_size=0; show warnings; Level Code Message show create table innodb_compressed; Table Create Table innodb_compressed CREATE TABLE `innodb_compressed` ( `c1` int(11) DEFAULT NULL, `b` char(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `page_compressed`=1 `page_compression_level`=8 update innodb_page_compressed1 set c1 = c1 + 1; update innodb_page_compressed2 set c1 = c1 + 1; update innodb_page_compressed3 set c1 = c1 + 1; update innodb_page_compressed4 set c1 = c1 + 1; update innodb_page_compressed5 set c1 = c1 + 1; update innodb_page_compressed6 set c1 = c1 + 1; update innodb_page_compressed7 set c1 = c1 + 1; update innodb_page_compressed8 set c1 = c1 + 1; update innodb_page_compressed9 set c1 = c1 + 1; commit; select count(*) from innodb_compressed; count(*) 5000 select count(*) from innodb_page_compressed1; count(*) 5000 select count(*) from innodb_page_compressed1 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed2 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed3 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed4 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed5 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed6 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed7 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed8 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed9 where c1 < 500000; count(*) 5000 update innodb_page_compressed1 set c1 = c1 + 1; update innodb_page_compressed2 set c1 = c1 + 1; update innodb_page_compressed3 set c1 = c1 + 1; update innodb_page_compressed4 set c1 = c1 + 1; update innodb_page_compressed5 set c1 = c1 + 1; update innodb_page_compressed6 set c1 = c1 + 1; update innodb_page_compressed7 set c1 = c1 + 1; update innodb_page_compressed8 set c1 = c1 + 1; update innodb_page_compressed9 set c1 = c1 + 1; select count(*) from innodb_compressed; count(*) 5000 select count(*) from innodb_page_compressed1; count(*) 5000 select count(*) from innodb_page_compressed1 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed2 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed3 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed4 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed5 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed6 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed7 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed8 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed9 where c1 < 500000; count(*) 5000 set global innodb_compression_algorithm = 1; update innodb_page_compressed1 set c1 = c1 + 1; update innodb_page_compressed2 set c1 = c1 + 1; update innodb_page_compressed3 set c1 = c1 + 1; update innodb_page_compressed4 set c1 = c1 + 1; update innodb_page_compressed5 set c1 = c1 + 1; update innodb_page_compressed6 set c1 = c1 + 1; update innodb_page_compressed7 set c1 = c1 + 1; update innodb_page_compressed8 set c1 = c1 + 1; update innodb_page_compressed9 set c1 = c1 + 1; commit; select count(*) from innodb_compressed; count(*) 5000 select count(*) from innodb_page_compressed1; count(*) 5000 select count(*) from innodb_page_compressed1 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed2 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed3 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed4 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed5 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed6 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed7 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed8 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed9 where c1 < 500000; count(*) 5000 update innodb_page_compressed1 set c1 = c1 + 1; update innodb_page_compressed2 set c1 = c1 + 1; update innodb_page_compressed3 set c1 = c1 + 1; update innodb_page_compressed4 set c1 = c1 + 1; update innodb_page_compressed5 set c1 = c1 + 1; update innodb_page_compressed6 set c1 = c1 + 1; update innodb_page_compressed7 set c1 = c1 + 1; update innodb_page_compressed8 set c1 = c1 + 1; update innodb_page_compressed9 set c1 = c1 + 1; select count(*) from innodb_compressed; count(*) 5000 select count(*) from innodb_page_compressed1; count(*) 5000 select count(*) from innodb_page_compressed1 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed2 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed3 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed4 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed5 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed6 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed7 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed8 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed9 where c1 < 500000; count(*) 5000 set global innodb_compression_algorithm = 0; update innodb_page_compressed1 set c1 = c1 + 1; update innodb_page_compressed2 set c1 = c1 + 1; update innodb_page_compressed3 set c1 = c1 + 1; update innodb_page_compressed4 set c1 = c1 + 1; update innodb_page_compressed5 set c1 = c1 + 1; update innodb_page_compressed6 set c1 = c1 + 1; update innodb_page_compressed7 set c1 = c1 + 1; update innodb_page_compressed8 set c1 = c1 + 1; update innodb_page_compressed9 set c1 = c1 + 1; commit; select count(*) from innodb_compressed; count(*) 5000 select count(*) from innodb_page_compressed1; count(*) 5000 select count(*) from innodb_page_compressed1 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed2 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed3 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed4 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed5 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed6 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed7 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed8 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed9 where c1 < 500000; count(*) 5000 update innodb_page_compressed1 set c1 = c1 + 1; update innodb_page_compressed2 set c1 = c1 + 1; update innodb_page_compressed3 set c1 = c1 + 1; update innodb_page_compressed4 set c1 = c1 + 1; update innodb_page_compressed5 set c1 = c1 + 1; update innodb_page_compressed6 set c1 = c1 + 1; update innodb_page_compressed7 set c1 = c1 + 1; update innodb_page_compressed8 set c1 = c1 + 1; update innodb_page_compressed9 set c1 = c1 + 1; select count(*) from innodb_compressed; count(*) 5000 select count(*) from innodb_page_compressed1; count(*) 5000 select count(*) from innodb_page_compressed1 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed2 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed3 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed4 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed5 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed6 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed7 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed8 where c1 < 500000; count(*) 5000 select count(*) from innodb_page_compressed9 where c1 < 500000; count(*) 5000 drop procedure innodb_insert_proc; drop table innodb_normal; drop table innodb_compressed; drop table innodb_page_compressed1; drop table innodb_page_compressed2; drop table innodb_page_compressed3; drop table innodb_page_compressed4; drop table innodb_page_compressed5; drop table innodb_page_compressed6; drop table innodb_page_compressed7; drop table innodb_page_compressed8; drop table innodb_page_compressed9;