78 lines
1.8 KiB
Plaintext
78 lines
1.8 KiB
Plaintext
let buffer_size=`SELECT @@GLOBAL.innodb_log_buffer_size`;
|
|
|
|
--echo '#-----------------------------------------------------------#'
|
|
--echo 'Test what happens when the innodb_log_buffer_size is changed'
|
|
--echo ' in runtime (both decreased and increased).'
|
|
|
|
--disable_query_log
|
|
CREATE TABLE t (a INT NOT NULL PRIMARY KEY, b BLOB);
|
|
DELIMITER |;
|
|
|
|
CREATE PROCEDURE insert_rows()
|
|
BEGIN
|
|
DECLARE i INT DEFAULT 0;
|
|
DECLARE no INT DEFAULT 0;
|
|
SET no = (SELECT @conn_counter);
|
|
WHILE i < 99 DO
|
|
INSERT INTO t VALUES (no*100+i, REPEAT('.', 5000));
|
|
SET i = i + 1;
|
|
END WHILE;
|
|
END|
|
|
|
|
DELIMITER ;|
|
|
--enable_query_log
|
|
|
|
INSERT INTO t VALUES (1000, 'a');
|
|
SET GLOBAL innodb_log_buffer_size = 1024*1024;
|
|
SELECT @@innodb_log_buffer_size;
|
|
INSERT INTO t VALUES (2000, 'b');
|
|
SET GLOBAL innodb_log_buffer_size = 256*1024;
|
|
SELECT @@innodb_log_buffer_size;
|
|
INSERT INTO t VALUES (3000, 'c');
|
|
SET GLOBAL innodb_log_buffer_size = 2048*1024;
|
|
SELECT @@innodb_log_buffer_size;
|
|
INSERT INTO t VALUES (4000, 'd');
|
|
|
|
|
|
let $n = 9;
|
|
let $i = 0;
|
|
while ($n) {
|
|
connect(con$n, localhost, root,,);
|
|
eval SET @conn_counter = $n;
|
|
send CALL insert_rows();
|
|
inc $i;
|
|
dec $n;
|
|
}
|
|
|
|
let $n = 9;
|
|
let $i = 0;
|
|
while ($n) {
|
|
--connection con$n
|
|
--reap
|
|
--disconnect con$n
|
|
inc $i;
|
|
dec $n;
|
|
}
|
|
|
|
|
|
--connection default
|
|
|
|
SET GLOBAL innodb_log_buffer_size = 256*1024;
|
|
SELECT @@innodb_log_buffer_size;
|
|
SET GLOBAL innodb_log_buffer_size = 256*1024 + 1024;
|
|
SELECT @@innodb_log_buffer_size;
|
|
SET GLOBAL innodb_log_buffer_size = 4096*1024;
|
|
SELECT @@innodb_log_buffer_size;
|
|
SET GLOBAL innodb_log_buffer_size = 256*1024 + 1024;
|
|
SELECT @@innodb_log_buffer_size;
|
|
SET GLOBAL innodb_log_buffer_size = 256*1024;
|
|
SELECT @@innodb_log_buffer_size;
|
|
|
|
--disable_query_log
|
|
DROP TABLE t;
|
|
DROP PROCEDURE insert_rows;
|
|
--enable_query_log
|
|
|
|
eval SET @@GLOBAL.innodb_log_buffer_size=$buffer_size;
|
|
SELECT @@innodb_log_buffer_size;
|