mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	Contains also:
       MDEV-10549 mysqld: sql/handler.cc:2692: int handler::ha_index_first(uchar*): Assertion `table_share->tmp_table != NO_TMP_TABLE || m_lock_type != 2' failed. (branch bb-10.2-jan)
       Unlike MySQL, InnoDB still uses THR_LOCK in MariaDB
       MDEV-10548 Some of the debug sync waits do not work with InnoDB 5.7 (branch bb-10.2-jan)
       enable tests that were fixed in MDEV-10549
       MDEV-10548 Some of the debug sync waits do not work with InnoDB 5.7 (branch bb-10.2-jan)
       fix main.innodb_mysql_sync - re-enable online alter for partitioned innodb tables
		
	
		
			
				
	
	
		
			8079 lines
		
	
	
		
			338 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			8079 lines
		
	
	
		
			338 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#******************************************************************
 | 
						|
# Test 1: Test the interaction between stats and compression level
 | 
						|
#         and logging of compressed pages configuration
 | 
						|
# This testcase is to verify the table/idex level compression stats
 | 
						|
# When the flags are set as follows
 | 
						|
# innodb_cmp_per_index_enabled=ON and innodb_compression_level=0
 | 
						|
# page size 1K,2K,4K,8K,16K
 | 
						|
# check the size and compression stats of the table tab5
 | 
						|
#******************************************************************
 | 
						|
# set the flags
 | 
						|
SET GLOBAL innodb_file_per_table=on;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
SET GLOBAL innodb_compression_level=0;
 | 
						|
#******************************************************************
 | 
						|
# Test 1-1K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=0 with page size 1K
 | 
						|
#******************************************************************
 | 
						|
# create a table with page size=1K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# for deterministic reasons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 5242880
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 5242880
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 5242880
 | 
						|
# set the flag on (default off)
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# set the flags
 | 
						|
SET GLOBAL innodb_file_per_table=on;
 | 
						|
SET GLOBAL innodb_compression_level=0;
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
# The stats figure may be different/same for each restart.
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SET @comp_val=0;
 | 
						|
SET @uncomp_val=1;
 | 
						|
===============
 | 
						|
After Restart Chekc the stats of the table
 | 
						|
===============
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE 
 | 
						|
compress_ops_ok BETWEEN @comp_val AND 1000
 | 
						|
AND uncompress_ops BETWEEN @uncomp_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 1-2K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=0 with page size 2K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=0;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=1;
 | 
						|
# create a table with page size=2K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 2097152
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 2097152
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 2097152
 | 
						|
# set the flag on (default off)
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# set the flags
 | 
						|
SET GLOBAL innodb_file_per_table=on;
 | 
						|
SET GLOBAL innodb_compression_level=0;
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
# The stats figure may be different/same for each restart.
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SET @comp_val=0;
 | 
						|
SET @uncomp_val=2;
 | 
						|
===============
 | 
						|
After Restart Chekc the stats of the table
 | 
						|
===============
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE 
 | 
						|
compress_ops_ok BETWEEN @comp_val AND 1000
 | 
						|
AND uncompress_ops BETWEEN @uncomp_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 1-4K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=0 with page size 4K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=0;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=1;
 | 
						|
# create a table with page size=4K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 163840
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 163840
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 163840
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 1-8K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=0 with page size 8K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=0;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=1;
 | 
						|
# create a table with page size=8K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 122880
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 212992
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 212992
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 212992
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 1-16K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=0 with page size 16K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=0;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=1;
 | 
						|
# create a table with page size=16K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 245760
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 327680
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 327680
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 327680
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 2: test the interaction between wl6347 & wl6344 (2.2)
 | 
						|
# This testcase is to verify the table/idex level compression stats
 | 
						|
# When the flags are set as follows
 | 
						|
# innodb_cmp_per_index_enabled=ON and innodb_compression_level=9
 | 
						|
# page size 1K,2K,4K,8K,16K
 | 
						|
# check the size and compression stats of the table tab5
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=0;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=1;
 | 
						|
# set the flags
 | 
						|
SET GLOBAL innodb_file_per_table=on;
 | 
						|
SET GLOBAL innodb_compression_level=9;
 | 
						|
#******************************************************************
 | 
						|
# Test 2-1K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=9 with page size 1K
 | 
						|
#******************************************************************
 | 
						|
# create a table with page size=1K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 65536
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 2097152
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# set the flag on (default off)
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# set the flags
 | 
						|
SET GLOBAL innodb_file_per_table=on;
 | 
						|
SET GLOBAL innodb_compression_level=9;
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
# The stats figure may be different/same for each restart.
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SET @comp_val=0;
 | 
						|
SET @uncomp_val=1;
 | 
						|
===============
 | 
						|
After Restart Chekc the stats of the table
 | 
						|
===============
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE 
 | 
						|
compress_ops_ok BETWEEN @comp_val AND 1000
 | 
						|
AND uncompress_ops BETWEEN @uncomp_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 2-2K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=9 with page size 2K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# create a table with page size=2K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 65536
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 2097152
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# set the flag on (default off)
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# set the flags
 | 
						|
SET GLOBAL innodb_file_per_table=on;
 | 
						|
SET GLOBAL innodb_compression_level=9;
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
# The stats figure may be different/same for each restart.
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SET @comp_val=0;
 | 
						|
SET @uncomp_val=1;
 | 
						|
===============
 | 
						|
After Restart Chekc the stats of the table
 | 
						|
===============
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE 
 | 
						|
compress_ops_ok BETWEEN @comp_val AND 1000
 | 
						|
AND uncompress_ops BETWEEN @uncomp_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 2-4K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=9 with page size 4K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# create a table with page size=4K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 65536
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 159744
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 81920
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 81920
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 81920
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 2-8K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=9 with page size 8K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# create a table with page size=8K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 122880
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 122880
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 163840
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 212992
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 163840
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 163840
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 2-16K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=9 with page size 16K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# create a table with page size=16K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 245760
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 245760
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 327680
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 344064
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 327680
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 327680
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 3: test the interaction between wl6347 & wl6344 (2.3)
 | 
						|
# This testcase is to verify the table/idex level compression stats
 | 
						|
# When the flags are set as follows
 | 
						|
# innodb_cmp_per_index_enabled=ON and
 | 
						|
# innodb_compression_level=6 (default)
 | 
						|
# page size 1K,2K,4K,8K,16K
 | 
						|
# check the size and compression stats of the table tab5
 | 
						|
#******************************************************************
 | 
						|
#******************************************************************
 | 
						|
# Test 3-1K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=Def with page size 1K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
SET GLOBAL innodb_compression_level=default;
 | 
						|
# create a table with page size=1K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 65536
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 65536
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 3-2K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=Def with page size 2K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
SET GLOBAL innodb_compression_level=default;
 | 
						|
# create a table with page size=2K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 65536
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 86016
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 3-4K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=Def with page size 4K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
SET GLOBAL innodb_compression_level=default;
 | 
						|
# create a table with page size=4K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 65536
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 86016
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 81920
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 81920
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 3-8K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=Def with page size 8K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
SET GLOBAL innodb_compression_level=default;
 | 
						|
# create a table with page size=8K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 122880
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 122880
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 172032
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 163840
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 163840
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 3-16K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=Def with page size 16K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
SET GLOBAL innodb_compression_level=default;
 | 
						|
# create a table with page size=16K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 245760
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 245760
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
# The size of the file with 0 compress = 344064
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 327680
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 327680
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 4: test the interaction between wl6347 & wl6344 (2.5 & 2.6)
 | 
						|
# This testcase is to verify the table/idex level compression stats
 | 
						|
# When the flags are set as follows
 | 
						|
# innodb_cmp_per_index_enabled=ON and
 | 
						|
# Innodb_compression_failure_threshold_pct=0
 | 
						|
# page size 1K,2K,4K,8K,16K
 | 
						|
# check the size and compression stats of the table tab5
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# set the flags
 | 
						|
SET GLOBAL innodb_compression_failure_threshold_pct=0;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# check the flags
 | 
						|
SELECT @@innodb_cmp_per_index_enabled;
 | 
						|
@@innodb_cmp_per_index_enabled	1
 | 
						|
SELECT @@innodb_compression_failure_threshold_pct;
 | 
						|
@@innodb_compression_failure_threshold_pct	0
 | 
						|
SELECT @@innodb_file_per_table;
 | 
						|
@@innodb_file_per_table	1
 | 
						|
SELECT @@innodb_compression_level;
 | 
						|
@@innodb_compression_level	6
 | 
						|
#******************************************************************
 | 
						|
# Test 4-1K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=0 with page size 1K
 | 
						|
#******************************************************************
 | 
						|
# create a table with page size=1K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# set the flag on (default off)
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# set the flags
 | 
						|
SET GLOBAL innodb_compression_failure_threshold_pct=0;
 | 
						|
SET GLOBAL innodb_file_per_table=on;
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
# The stats figure may be different/same for each restart.
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SET @comp_val=0;
 | 
						|
SET @uncomp_val=1;
 | 
						|
===============
 | 
						|
After Restart Chekc the stats of the table
 | 
						|
===============
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE 
 | 
						|
compress_ops_ok BETWEEN @comp_val AND 1000
 | 
						|
AND uncompress_ops BETWEEN @uncomp_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 4-2K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=0 with page size 2K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# create a table with page size=2K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 4-4K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=0 with page size 4K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# create a table with page size=4K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 81920
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 81920
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 81920
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 4-8K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=0 with page size 8K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# create a table with page size=8K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 122880
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 163840
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 163840
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 163840
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 4-16K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=0 with page size 16K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# create a table with page size=16K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 245760
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 327680
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 327680
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 327680
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 5: test the interaction between wl6347 & wl6344 (2.7)
 | 
						|
# This testcase is to verify the table/idex level compression stats
 | 
						|
# When the flags are set as follows
 | 
						|
# innodb_cmp_per_index_enabled=ON and
 | 
						|
# Innodb_compression_failure_threshold_pct=10
 | 
						|
# page size 1K,2K,4K,8K,16K
 | 
						|
# check the size and compression stats of the table tab5
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# set the flags
 | 
						|
SET GLOBAL innodb_file_per_table=on;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
SET GLOBAL innodb_compression_failure_threshold_pct=10;
 | 
						|
SET GLOBAL innodb_compression_level=Default;
 | 
						|
# check the flags
 | 
						|
SELECT @@innodb_cmp_per_index_enabled;
 | 
						|
@@innodb_cmp_per_index_enabled	1
 | 
						|
SELECT @@innodb_compression_failure_threshold_pct;
 | 
						|
@@innodb_compression_failure_threshold_pct	10
 | 
						|
SELECT @@innodb_file_per_table;
 | 
						|
@@innodb_file_per_table	1
 | 
						|
SELECT @@innodb_compression_level;
 | 
						|
@@innodb_compression_level	6
 | 
						|
#******************************************************************
 | 
						|
# Test 5-1K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=10 with page size 1K
 | 
						|
#******************************************************************
 | 
						|
# create a table with page size=1K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# set the flag on (default off)
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# set the flags
 | 
						|
SET GLOBAL innodb_compression_failure_threshold_pct=10;
 | 
						|
SET GLOBAL innodb_file_per_table=on;
 | 
						|
SET GLOBAL innodb_compression_failure_threshold_pct=10;
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
# The stats figure may be different/same for each restart.
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SET @comp_val=0;
 | 
						|
SET @uncomp_val=1;
 | 
						|
===============
 | 
						|
After Restart Chekc the stats of the table
 | 
						|
===============
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE 
 | 
						|
compress_ops_ok BETWEEN @comp_val AND 1000
 | 
						|
AND uncompress_ops BETWEEN @uncomp_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 5-2K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=10 with page size 2K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
SET GLOBAL innodb_compression_failure_threshold_pct=10;
 | 
						|
# create a table with page size=2K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=2;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 5-4K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=10 with page size 4K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# create a table with page size=4K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 65536
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 81920
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 81920
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 81920
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 5-8K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=10 with page size 8K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
SET GLOBAL innodb_compression_failure_threshold_pct=10;
 | 
						|
# create a table with page size=8K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 122880
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 163840
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 163840
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 163840
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 5-16K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=10 with page size 16K
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=ON;
 | 
						|
# create a table with page size=16K
 | 
						|
# create indexes on each column.(total 9 indexes)
 | 
						|
# Create table & Index
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
 | 
						|
CREATE INDEX  idx9 ON tab5(col_9(10));
 | 
						|
CREATE INDEX  idx8 ON tab5(col_8(10));
 | 
						|
CREATE INDEX  idx7 ON tab5(col_7(10));
 | 
						|
CREATE INDEX  idx6 ON tab5(col_6(10));
 | 
						|
CREATE INDEX  idx5 ON tab5(col_5(10));
 | 
						|
CREATE INDEX  idx4 ON tab5(col_4(10));
 | 
						|
CREATE INDEX  idx3 ON tab5(col_3(10));
 | 
						|
CREATE INDEX  idx2 ON tab5(col_2(10));
 | 
						|
CREATE INDEX  idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 245760
 | 
						|
# for determintic resons simple data should be inserted.
 | 
						|
# insert some 100 records
 | 
						|
# Load the data
 | 
						|
SET @col_1 = repeat('a', 100);
 | 
						|
SET @col_2 = repeat('b', 100);
 | 
						|
SET @col_3 = repeat('c', 100);
 | 
						|
SET @col_4 = repeat('d', 100);
 | 
						|
SET @col_5 = repeat('e', 100);
 | 
						|
SET @col_6 = repeat('f', 100);
 | 
						|
SET @col_7 = repeat('g', 100);
 | 
						|
SET @col_8 = repeat('h', 100);
 | 
						|
SET @col_9 = repeat('i', 100);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
INSERT INTO tab5
 | 
						|
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
 | 
						|
commit;
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 327680
 | 
						|
# fetch the compressed page and check the stats
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 327680
 | 
						|
# fetch the compressed same page once again and check the stats
 | 
						|
# the stat figures should be same as above query
 | 
						|
===============
 | 
						|
Fetch Records
 | 
						|
===============
 | 
						|
SELECT col_7,col_8,col_9 FROM tab5
 | 
						|
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
 | 
						|
LIMIT 1;
 | 
						|
col_7	gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
 | 
						|
col_8	hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 | 
						|
col_9	iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 | 
						|
# check the stats of the table & size of the table
 | 
						|
SET @inl_val=1;
 | 
						|
# Check the stats of the table
 | 
						|
# Check the size of the ibd file
 | 
						|
# testcase : pass = 1 fail = 0
 | 
						|
SELECT count(*) > 0 as "compress_stat"
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE
 | 
						|
compress_ops_ok BETWEEN @inl_val AND 1000
 | 
						|
AND compress_ops BETWEEN @inl_val AND 1000
 | 
						|
AND table_name='tab5' AND database_name='test'
 | 
						|
AND index_name like 'idx%' ;
 | 
						|
compress_stat	1
 | 
						|
The size of the tab5.ibd file: 327680
 | 
						|
DROP TABLE tab5;
 | 
						|
#******************************************************************
 | 
						|
# Test 6: Create multiple tables & indexes having same name in 2 diff DB's
 | 
						|
# Check the stats of the table. (1.1)
 | 
						|
#******************************************************************
 | 
						|
# reset the stat table before starting next testcase
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=0;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=1;
 | 
						|
SET GLOBAL innodb_file_per_table=ON;
 | 
						|
SET GLOBAL innodb_compression_level=default;
 | 
						|
SET GLOBAL innodb_compression_failure_threshold_pct=default;
 | 
						|
# create a table page size=1K
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
 | 
						|
CREATE INDEX idx1 ON tab5(col_1(10));
 | 
						|
# check the stats of the table
 | 
						|
SELECT database_name,table_name,index_name,compress_ops,compress_ops_ok
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE database_name='test' and table_name='tab5'
 | 
						|
ORDER BY index_name,table_name,database_name ;
 | 
						|
database_name	test
 | 
						|
table_name	tab5
 | 
						|
index_name	GEN_CLUST_INDEX
 | 
						|
compress_ops	1
 | 
						|
compress_ops_ok	1
 | 
						|
database_name	test
 | 
						|
table_name	tab5
 | 
						|
index_name	idx1
 | 
						|
compress_ops	1
 | 
						|
compress_ops_ok	1
 | 
						|
CREATE DATABASE sb;
 | 
						|
USE sb;
 | 
						|
# create a table page size=1K (testcase-1)
 | 
						|
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
 | 
						|
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
 | 
						|
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255))
 | 
						|
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
 | 
						|
CREATE INDEX idx1 ON tab5(col_1(10));
 | 
						|
SELECT database_name,table_name,index_name,compress_ops,compress_ops_ok
 | 
						|
FROM information_schema.innodb_cmp_per_index
 | 
						|
WHERE database_name='sb' and table_name='tab5'
 | 
						|
ORDER BY index_name,table_name,database_name ;
 | 
						|
database_name	sb
 | 
						|
table_name	tab5
 | 
						|
index_name	GEN_CLUST_INDEX
 | 
						|
compress_ops	1
 | 
						|
compress_ops_ok	1
 | 
						|
database_name	sb
 | 
						|
table_name	tab5
 | 
						|
index_name	idx1
 | 
						|
compress_ops	1
 | 
						|
compress_ops_ok	1
 | 
						|
DROP TABLE tab5, test.tab5;
 | 
						|
DROP DATABASE sb;
 | 
						|
# reset the flags
 | 
						|
SET GLOBAL innodb_file_per_table=default;
 | 
						|
SET GLOBAL innodb_cmp_per_index_enabled=default;
 | 
						|
SET GLOBAL innodb_compression_failure_threshold_pct=default;
 |