mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
08413254b7
innodb_file_format=Barracuda is the default in MariaDB 10.2. Do not set it, because the option will be removed in MariaDB 10.3. Also, do not set innodb_file_per_table=1 because it is the default. Note that MDEV-11828 should fix the test innodb.innodb-64k already in 10.1.
345 lines
7.1 KiB
Text
345 lines
7.1 KiB
Text
set innodb_strict_mode=OFF;
|
|
create procedure populate()
|
|
begin
|
|
declare i int default 1;
|
|
while (i <= 5000) do
|
|
insert into t1 values (i, 'a', 'b');
|
|
insert into t2 values (i, 'a', 'b');
|
|
insert into t3 values (i, 'a', 'b');
|
|
set i = i + 1;
|
|
end while;
|
|
end|
|
|
create procedure populate_small()
|
|
begin
|
|
declare i int default 10001;
|
|
while (i <= 12000) do
|
|
insert into t1 values (i, 'c', 'd');
|
|
insert into t2 values (i, 'a', 'b');
|
|
insert into t3 values (i, 'a', 'b');
|
|
set i = i + 1;
|
|
end while;
|
|
end|
|
|
set global innodb_file_per_table = 1;
|
|
create table tNUMBER
|
|
(i int, cNUMBER char(NUMBER), cNUMBER char(NUMBER),
|
|
index cNUMBER_idx(cNUMBER))
|
|
engine=innodb row_format=compact
|
|
key_block_size=NUMBER;
|
|
Warnings:
|
|
Warning NUMBER InnoDB: ignoring KEY_BLOCK_SIZE=NUMBER unless ROW_FORMAT=COMPRESSED.
|
|
create table t2
|
|
(i int, c1 char(100), c2 char(100),
|
|
index c1_idx(c1))
|
|
engine=innodb row_format=compact
|
|
key_block_size=16;
|
|
Warnings:
|
|
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16 unless ROW_FORMAT=COMPRESSED.
|
|
create temporary table t3
|
|
(i int, c1 char(100), c2 char(100),
|
|
index c1_idx(c1))
|
|
engine=innodb row_format=compact
|
|
key_block_size=16;
|
|
Warnings:
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE is ignored for TEMPORARY TABLE.
|
|
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16.
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
begin;
|
|
call populate();
|
|
commit;
|
|
select count(*) from t1;
|
|
count(*)
|
|
5000
|
|
select count(*) from t2;
|
|
count(*)
|
|
5000
|
|
select count(*) from t3;
|
|
count(*)
|
|
5000
|
|
truncate table t1;
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
5000
|
|
select count(*) from t3;
|
|
count(*)
|
|
5000
|
|
call populate_small();
|
|
select count(*) from t1;
|
|
count(*)
|
|
2000
|
|
select count(*) from t2;
|
|
count(*)
|
|
7000
|
|
select count(*) from t3;
|
|
count(*)
|
|
7000
|
|
truncate table t2;
|
|
truncate table t3;
|
|
select count(*) from t1;
|
|
count(*)
|
|
2000
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
call populate_small();
|
|
select count(*) from t1;
|
|
count(*)
|
|
4000
|
|
select count(*) from t2;
|
|
count(*)
|
|
2000
|
|
select count(*) from t3;
|
|
count(*)
|
|
2000
|
|
drop table t1;
|
|
drop table t2;
|
|
drop table t3;
|
|
drop procedure populate;
|
|
drop procedure populate_small;
|
|
set global innodb_file_format = Barracuda;
|
|
Warnings:
|
|
Warning 131 Using innodb_file_format is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
|
|
set global innodb_file_per_table = 1;
|
|
set innodb_strict_mode=OFF;
|
|
create procedure populate()
|
|
begin
|
|
declare i int default 1;
|
|
while (i <= 5000) do
|
|
insert into t1 values (i, 'a', 'b');
|
|
insert into t2 values (i, 'a', 'b');
|
|
insert into t3 values (i, 'a', 'b');
|
|
set i = i + 1;
|
|
end while;
|
|
end|
|
|
create procedure populate_small()
|
|
begin
|
|
declare i int default 10001;
|
|
while (i <= 12000) do
|
|
insert into t1 values (i, 'c', 'd');
|
|
insert into t2 values (i, 'a', 'b');
|
|
insert into t3 values (i, 'a', 'b');
|
|
set i = i + 1;
|
|
end while;
|
|
end|
|
|
set global innodb_file_per_table = 1;
|
|
create table tNUMBER
|
|
(i int, cNUMBER char(NUMBER), cNUMBER char(NUMBER),
|
|
index cNUMBER_idx(cNUMBER))
|
|
engine=innodb row_format=compressed
|
|
key_block_size=NUMBER;
|
|
create table t2
|
|
(i int, c1 char(100), c2 char(100),
|
|
index c1_idx(c1))
|
|
engine=innodb row_format=compressed
|
|
key_block_size=16;
|
|
create temporary table t3
|
|
(i int, c1 char(100), c2 char(100),
|
|
index c1_idx(c1))
|
|
engine=innodb row_format=compressed
|
|
key_block_size=16;
|
|
Warnings:
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE is ignored for TEMPORARY TABLE.
|
|
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16.
|
|
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED is ignored for TEMPORARY TABLE.
|
|
Warning 1478 InnoDB: assuming ROW_FORMAT=DYNAMIC.
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
begin;
|
|
call populate();
|
|
commit;
|
|
select count(*) from t1;
|
|
count(*)
|
|
5000
|
|
select count(*) from t2;
|
|
count(*)
|
|
5000
|
|
select count(*) from t3;
|
|
count(*)
|
|
5000
|
|
truncate table t1;
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
5000
|
|
select count(*) from t3;
|
|
count(*)
|
|
5000
|
|
call populate_small();
|
|
select count(*) from t1;
|
|
count(*)
|
|
2000
|
|
select count(*) from t2;
|
|
count(*)
|
|
7000
|
|
select count(*) from t3;
|
|
count(*)
|
|
7000
|
|
truncate table t2;
|
|
truncate table t3;
|
|
select count(*) from t1;
|
|
count(*)
|
|
2000
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
call populate_small();
|
|
select count(*) from t1;
|
|
count(*)
|
|
4000
|
|
select count(*) from t2;
|
|
count(*)
|
|
2000
|
|
select count(*) from t3;
|
|
count(*)
|
|
2000
|
|
drop table t1;
|
|
drop table t2;
|
|
drop table t3;
|
|
drop procedure populate;
|
|
drop procedure populate_small;
|
|
set global innodb_file_format = Barracuda;
|
|
Warnings:
|
|
Warning 131 Using innodb_file_format is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
|
|
set global innodb_file_per_table = 1;
|
|
set innodb_strict_mode=OFF;
|
|
create procedure populate()
|
|
begin
|
|
declare i int default 1;
|
|
while (i <= 5000) do
|
|
insert into t1 values (i, 'a', 'b');
|
|
insert into t2 values (i, 'a', 'b');
|
|
insert into t3 values (i, 'a', 'b');
|
|
set i = i + 1;
|
|
end while;
|
|
end|
|
|
create procedure populate_small()
|
|
begin
|
|
declare i int default 10001;
|
|
while (i <= 12000) do
|
|
insert into t1 values (i, 'c', 'd');
|
|
insert into t2 values (i, 'a', 'b');
|
|
insert into t3 values (i, 'a', 'b');
|
|
set i = i + 1;
|
|
end while;
|
|
end|
|
|
set global innodb_file_per_table = 0;
|
|
create table tNUMBER
|
|
(i int, cNUMBER char(NUMBER), cNUMBER char(NUMBER),
|
|
index cNUMBER_idx(cNUMBER))
|
|
engine=innodb row_format=compact
|
|
key_block_size=NUMBER;
|
|
Warnings:
|
|
Warning NUMBER InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
|
|
Warning NUMBER InnoDB: ignoring KEY_BLOCK_SIZE=NUMBER.
|
|
create table t2
|
|
(i int, c1 char(100), c2 char(100),
|
|
index c1_idx(c1))
|
|
engine=innodb row_format=compact
|
|
key_block_size=16;
|
|
Warnings:
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
|
|
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16.
|
|
create temporary table t3
|
|
(i int, c1 char(100), c2 char(100),
|
|
index c1_idx(c1))
|
|
engine=innodb row_format=compact
|
|
key_block_size=16;
|
|
Warnings:
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE is ignored for TEMPORARY TABLE.
|
|
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16.
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
begin;
|
|
call populate();
|
|
commit;
|
|
select count(*) from t1;
|
|
count(*)
|
|
5000
|
|
select count(*) from t2;
|
|
count(*)
|
|
5000
|
|
select count(*) from t3;
|
|
count(*)
|
|
5000
|
|
truncate table t1;
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
5000
|
|
select count(*) from t3;
|
|
count(*)
|
|
5000
|
|
call populate_small();
|
|
select count(*) from t1;
|
|
count(*)
|
|
2000
|
|
select count(*) from t2;
|
|
count(*)
|
|
7000
|
|
select count(*) from t3;
|
|
count(*)
|
|
7000
|
|
truncate table t2;
|
|
truncate table t3;
|
|
select count(*) from t1;
|
|
count(*)
|
|
2000
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
call populate_small();
|
|
select count(*) from t1;
|
|
count(*)
|
|
4000
|
|
select count(*) from t2;
|
|
count(*)
|
|
2000
|
|
select count(*) from t3;
|
|
count(*)
|
|
2000
|
|
drop table t1;
|
|
drop table t2;
|
|
drop table t3;
|
|
drop procedure populate;
|
|
drop procedure populate_small;
|
|
set global innodb_file_format = Barracuda;
|
|
Warnings:
|
|
Warning 131 Using innodb_file_format is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
|
|
set global innodb_file_per_table = 1;
|