diff options
Diffstat (limited to 'mysql-test/suite/innodb/r/innodb_defragment.result')
-rw-r--r-- | mysql-test/suite/innodb/r/innodb_defragment.result | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/r/innodb_defragment.result b/mysql-test/suite/innodb/r/innodb_defragment.result new file mode 100644 index 00000000..533a39ee --- /dev/null +++ b/mysql-test/suite/innodb/r/innodb_defragment.result @@ -0,0 +1,133 @@ +set global innodb_defragment_stats_accuracy = 80; +CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(256), KEY SECOND(a, b)) ENGINE=INNODB; +optimize table t1; +Table Op Msg_type Msg_text +test.t1 optimize status OK +INSERT INTO t1 VALUES (100000, REPEAT('A', 256)); +INSERT INTO t1 VALUES (200000, REPEAT('A', 256)); +INSERT INTO t1 VALUES (300000, REPEAT('A', 256)); +INSERT INTO t1 VALUES (400000, REPEAT('A', 256)); +optimize table t1; +Table Op Msg_type Msg_text +test.t1 optimize status OK +create procedure defragment() +begin +set @i = 0; +repeat +set @i = @i + 1; +optimize table t1; +until @i = 3 end repeat; +end // +select count(stat_value) from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed'); +count(stat_value) +0 +select count(stat_value) from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split'); +count(stat_value) +2 +select count(stat_value) from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag'); +count(stat_value) +2 +select count(*) from t1; +count(*) +10004 +connect con1,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK; +connection con1; +call defragment(); +connection default; +connection con1; +connection default; +disconnect con1; +optimize table t1; +Table Op Msg_type Msg_text +test.t1 optimize status OK +# restart +select count(*) from t1; +count(*) +7904 +select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed'); +count(stat_value) = 0 +0 +select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split'); +count(stat_value) > 0 +1 +select count(stat_value) > 0 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag'); +count(stat_value) > 0 +1 +select count(*) from t1 force index (second); +count(*) +7904 +select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_pages_freed'); +count(stat_value) = 0 +1 +select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_page_split'); +count(stat_value) = 0 +1 +select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_leaf_pages_defrag'); +count(stat_value) = 0 +1 +SET @@global.innodb_defragment_n_pages = 3; +optimize table t1; +Table Op Msg_type Msg_text +test.t1 optimize status OK +# restart +select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed'); +count(stat_value) < 3 +1 +select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split'); +count(stat_value) < 3 +1 +select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag'); +count(stat_value) < 3 +1 +select count(*) from t1; +count(*) +6904 +select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed'); +count(stat_value) < 3 +1 +select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split'); +count(stat_value) < 3 +1 +select count(stat_value) < 3 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag'); +count(stat_value) < 3 +1 +select count(*) from t1 force index (second); +count(*) +6904 +select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_pages_freed'); +count(stat_value) = 0 +1 +select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_page_split'); +count(stat_value) = 0 +1 +select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_leaf_pages_defrag'); +count(stat_value) = 0 +1 +SET @@global.innodb_defragment_n_pages = 10; +optimize table t1; +Table Op Msg_type Msg_text +test.t1 optimize status OK +# restart +select count(stat_value) > 1 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed'); +count(stat_value) > 1 +1 +select count(stat_value) > 1 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_page_split'); +count(stat_value) > 1 +1 +select count(stat_value) > 1 from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_leaf_pages_defrag'); +count(stat_value) > 1 +1 +select count(*) from t1 force index (second); +count(*) +6904 +select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_pages_freed'); +count(stat_value) = 0 +1 +select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_page_split'); +count(stat_value) = 0 +1 +select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like '%t1%' and index_name = 'second' and stat_name in ('n_leaf_pages_defrag'); +count(stat_value) = 0 +1 +DROP PROCEDURE defragment; +DROP TABLE t1; |