50 lines
1.9 KiB
Plaintext
50 lines
1.9 KiB
Plaintext
-- 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 |