Commit bf153efd authored by Marko Mäkelä's avatar Marko Mäkelä

Measure page splits in the innodb.instant_alter test

parent f6be3a00
--- instant_alter.result
+++ instant_alter,32k.result
@@ -317,7 +317,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+1
connection default;
ALTER TABLE big ADD COLUMN
(d1 INT DEFAULT 0, d2 VARCHAR(20) DEFAULT 'abcde',
@@ -340,7 +340,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-7
+5
connection default;
ROLLBACK;
CHECKSUM TABLE big;
@@ -353,7 +353,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+1
connection default;
DROP TABLE big;
CREATE TABLE t1
@@ -668,7 +668,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+1
connection default;
ALTER TABLE big ADD COLUMN
(d1 INT DEFAULT 0, d2 VARCHAR(20) DEFAULT 'abcde',
@@ -691,7 +691,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-7
+5
connection default;
ROLLBACK;
CHECKSUM TABLE big;
@@ -704,7 +704,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+1
connection default;
DROP TABLE big;
CREATE TABLE t1
@@ -1019,7 +1019,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+1
connection default;
ALTER TABLE big ADD COLUMN
(d1 INT DEFAULT 0, d2 VARCHAR(20) DEFAULT 'abcde',
@@ -1042,7 +1042,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-7
+5
connection default;
ROLLBACK;
CHECKSUM TABLE big;
@@ -1055,7 +1055,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+1
connection default;
DROP TABLE big;
disconnect analyze;
--- instant_alter.result
+++ instant_alter,4k.result
@@ -181,7 +181,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+6
connection default;
ROLLBACK;
connection analyze;
@@ -191,7 +191,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+4
connection default;
BEGIN;
UPDATE t2 SET d1 = repeat(id, 200);
@@ -202,7 +202,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+4
connection default;
ROLLBACK;
connection analyze;
@@ -212,7 +212,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+4
connection default;
ALTER TABLE t2 DROP p;
affected rows: 0
@@ -317,7 +317,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+8
connection default;
ALTER TABLE big ADD COLUMN
(d1 INT DEFAULT 0, d2 VARCHAR(20) DEFAULT 'abcde',
@@ -340,7 +340,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-7
+28
connection default;
ROLLBACK;
CHECKSUM TABLE big;
@@ -353,7 +353,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+8
connection default;
DROP TABLE big;
CREATE TABLE t1
@@ -532,7 +532,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+6
connection default;
ROLLBACK;
connection analyze;
@@ -542,7 +542,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+4
connection default;
BEGIN;
UPDATE t2 SET d1 = repeat(id, 200);
@@ -553,7 +553,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+4
connection default;
ROLLBACK;
connection analyze;
@@ -563,7 +563,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+4
connection default;
ALTER TABLE t2 DROP p;
affected rows: 0
@@ -668,7 +668,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+7
connection default;
ALTER TABLE big ADD COLUMN
(d1 INT DEFAULT 0, d2 VARCHAR(20) DEFAULT 'abcde',
@@ -691,7 +691,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-7
+23
connection default;
ROLLBACK;
CHECKSUM TABLE big;
@@ -704,7 +704,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+7
connection default;
DROP TABLE big;
CREATE TABLE t1
@@ -883,7 +883,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+6
connection default;
ROLLBACK;
connection analyze;
@@ -893,7 +893,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+4
connection default;
BEGIN;
UPDATE t2 SET d1 = repeat(id, 200);
@@ -904,7 +904,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+4
connection default;
ROLLBACK;
connection analyze;
@@ -914,7 +914,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+4
connection default;
ALTER TABLE t2 DROP p;
affected rows: 0
@@ -1019,7 +1019,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+7
connection default;
ALTER TABLE big ADD COLUMN
(d1 INT DEFAULT 0, d2 VARCHAR(20) DEFAULT 'abcde',
@@ -1042,7 +1042,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-7
+23
connection default;
ROLLBACK;
CHECKSUM TABLE big;
@@ -1055,7 +1055,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+7
connection default;
DROP TABLE big;
disconnect analyze;
--- instant_alter.result
+++ instant_alter,64k.result
@@ -317,7 +317,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+1
connection default;
ALTER TABLE big ADD COLUMN
(d1 INT DEFAULT 0, d2 VARCHAR(20) DEFAULT 'abcde',
@@ -340,7 +340,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-7
+3
connection default;
ROLLBACK;
CHECKSUM TABLE big;
@@ -353,7 +353,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+1
connection default;
DROP TABLE big;
CREATE TABLE t1
@@ -668,7 +668,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+1
connection default;
ALTER TABLE big ADD COLUMN
(d1 INT DEFAULT 0, d2 VARCHAR(20) DEFAULT 'abcde',
@@ -691,7 +691,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-7
+3
connection default;
ROLLBACK;
CHECKSUM TABLE big;
@@ -704,7 +704,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+1
connection default;
DROP TABLE big;
CREATE TABLE t1
@@ -1019,7 +1019,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+1
connection default;
ALTER TABLE big ADD COLUMN
(d1 INT DEFAULT 0, d2 VARCHAR(20) DEFAULT 'abcde',
@@ -1042,7 +1042,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-7
+3
connection default;
ROLLBACK;
CHECKSUM TABLE big;
@@ -1055,7 +1055,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+1
connection default;
DROP TABLE big;
disconnect analyze;
--- instant_alter.result
+++ instant_alter,8k.result
@@ -181,7 +181,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+5
connection default;
ROLLBACK;
connection analyze;
@@ -191,7 +191,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+3
connection default;
BEGIN;
UPDATE t2 SET d1 = repeat(id, 200);
@@ -202,7 +202,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+3
connection default;
ROLLBACK;
connection analyze;
@@ -212,7 +212,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+3
connection default;
ALTER TABLE t2 DROP p;
affected rows: 0
@@ -317,7 +317,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+5
connection default;
ALTER TABLE big ADD COLUMN
(d1 INT DEFAULT 0, d2 VARCHAR(20) DEFAULT 'abcde',
@@ -340,7 +340,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-7
+13
connection default;
ROLLBACK;
CHECKSUM TABLE big;
@@ -353,7 +353,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+5
connection default;
DROP TABLE big;
CREATE TABLE t1
@@ -532,7 +532,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+5
connection default;
ROLLBACK;
connection analyze;
@@ -542,7 +542,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+3
connection default;
BEGIN;
UPDATE t2 SET d1 = repeat(id, 200);
@@ -553,7 +553,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+3
connection default;
ROLLBACK;
connection analyze;
@@ -563,7 +563,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+3
connection default;
ALTER TABLE t2 DROP p;
affected rows: 0
@@ -668,7 +668,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+5
connection default;
ALTER TABLE big ADD COLUMN
(d1 INT DEFAULT 0, d2 VARCHAR(20) DEFAULT 'abcde',
@@ -691,7 +691,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-7
+13
connection default;
ROLLBACK;
CHECKSUM TABLE big;
@@ -704,7 +704,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+5
connection default;
DROP TABLE big;
CREATE TABLE t1
@@ -883,7 +883,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+5
connection default;
ROLLBACK;
connection analyze;
@@ -893,7 +893,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+3
connection default;
BEGIN;
UPDATE t2 SET d1 = repeat(id, 200);
@@ -904,7 +904,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+3
connection default;
ROLLBACK;
connection analyze;
@@ -914,7 +914,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
clust_index_size
-1
+3
connection default;
ALTER TABLE t2 DROP p;
affected rows: 0
@@ -1019,7 +1019,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+5
connection default;
ALTER TABLE big ADD COLUMN
(d1 INT DEFAULT 0, d2 VARCHAR(20) DEFAULT 'abcde',
@@ -1042,7 +1042,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-7
+13
connection default;
ROLLBACK;
CHECKSUM TABLE big;
@@ -1055,7 +1055,7 @@
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
clust_index_size
-3
+5
connection default;
DROP TABLE big;
disconnect analyze;
......@@ -11,6 +11,8 @@
# check_if_supported_inplace_alter()
# does not check if instant ADD is possible.)
connect analyze, localhost, root;
connection default;
SET timestamp = 42;
SET time_zone='+03:00';
......@@ -130,12 +132,34 @@ SELECT * FROM t2;
# inplace update, rollback
BEGIN;
UPDATE t2 SET c1 = repeat(id, 4000);
connection analyze;
ANALYZE TABLE t2;
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
connection default;
ROLLBACK;
connection analyze;
ANALYZE TABLE t2;
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
connection default;
# non-inplace update. Rollback will materialize off-page columns.
# non-inplace update. Rollback MUST NOT materialize off-page columns.
BEGIN;
UPDATE t2 SET d1 = repeat(id, 200);
connection analyze;
ANALYZE TABLE t2;
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
connection default;
ROLLBACK;
connection analyze;
ANALYZE TABLE t2;
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/t2';
connection default;
--enable_info
ALTER TABLE t2 DROP p;
......@@ -194,13 +218,12 @@ INSERT INTO big SELECT @i:=@i+1, c1, c2, c3, p FROM big;
INSERT INTO big SELECT @i:=@i+1, c1, c2, c3, p FROM big;
INSERT INTO big SELECT @i:=@i+1, c1, c2, c3, p FROM big;
INSERT INTO big SELECT @i:=@i+1, c1, c2, c3, p FROM big;
INSERT INTO big SELECT @i:=@i+1, c1, c2, c3, p FROM big;
INSERT INTO big SELECT @i:=@i+1, c1, c2, c3, p FROM big;
INSERT INTO big SELECT @i:=@i+1, c1, c2, c3, p FROM big;
INSERT INTO big SELECT @i:=@i+1, c1, c2, c3, p FROM big;
INSERT INTO big SELECT @i:=@i+1, c1, c2, c3, p FROM big;
INSERT INTO big SELECT @i:=@i+1, c1, c2, c3, p FROM big;
COMMIT;
connection analyze;
ANALYZE TABLE big;
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
connection default;
--enable_info
ALTER TABLE big ADD COLUMN
(d1 INT DEFAULT 0, d2 VARCHAR(20) DEFAULT 'abcde',
......@@ -211,13 +234,24 @@ BEGIN;
INSERT INTO big(id, c1, c2, c3) SELECT @i:=@i+1, c1, c2, c3 FROM big;
INSERT INTO big(id, c1, c2, c3) SELECT @i:=@i+1, c1, c2, c3 FROM big;
CHECKSUM TABLE big;
connection analyze;
ANALYZE TABLE big;
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
connection default;
ROLLBACK;
CHECKSUM TABLE big;
connection analyze;
ANALYZE TABLE big;
SELECT clust_index_size FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
WHERE name = 'test/big';
connection default;
DROP TABLE big;
dec $format;
}
disconnect analyze;
SET GLOBAL innodb_monitor_disable = module_ddl;
--disable_warnings
SET GLOBAL innodb_monitor_enable = default;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment