1'#--------------------FN_DYNVARS_023_01-------------------------#' 2SET @start_value= @@global.delay_key_write; 3'#--------------------FN_DYNVARS_023_02-------------------------#' 4CREATE PROCEDURE sp_addRecords (IN var1 INT,IN var2 INT) 5BEGIN 6WHILE (var1 < var2) DO 7INSERT INTO t1 VALUES(var1,REPEAT('MYSQL',10),100000.0/var1); 8SET var1=var1+1; 9END WHILE; 10END// 11'---check when delay_key_write is OFF---' 12SET @@global.delay_key_write = OFF; 13CREATE TABLE t1( 14a INT PRIMARY KEY, 15b VARCHAR(512), 16c DOUBLE 17) DELAY_KEY_WRITE = 1; 18FLUSH STATUS; 19CALL sp_addRecords(1,10); 20SHOW STATUS LIKE 'Key_reads'; 21Variable_name Value 22Key_reads 0 23SHOW STATUS LIKE 'Key_writes'; 24Variable_name Value 25Key_writes 9 26SHOW STATUS LIKE 'Key_write_requests'; 27Variable_name Value 28Key_write_requests 9 29SELECT COUNT(*) FROM t1; 30COUNT(*) 319 32DROP TABLE t1; 33'----check when delay_key_write is ON---' 34SET @@global.delay_key_write = ON; 35CREATE TABLE t1( 36a INT PRIMARY KEY, 37b VARCHAR(512), 38c DOUBLE 39) DELAY_KEY_WRITE = 1; 40FLUSH STATUS; 41CALL sp_addRecords(1,10); 42SHOW STATUS LIKE 'Key_reads'; 43Variable_name Value 44Key_reads 0 45SHOW STATUS LIKE 'Key_writes'; 46Variable_name Value 47Key_writes 0 48SHOW STATUS LIKE 'Key_write_requests'; 49Variable_name Value 50Key_write_requests 9 51SELECT COUNT(*) FROM t1; 52COUNT(*) 539 54DROP TABLE t1; 55'----check when delay_key_write is ALL---' 56SET @@global.delay_key_write = ALL; 57CREATE TABLE t1( 58a INT PRIMARY KEY, 59b VARCHAR(512), 60c DOUBLE 61) DELAY_KEY_WRITE = 0; 62FLUSH STATUS; 63CALL sp_addRecords(1,10); 64SHOW STATUS LIKE 'Key_reads'; 65Variable_name Value 66Key_reads 0 67SHOW STATUS LIKE 'Key_writes'; 68Variable_name Value 69Key_writes 0 70SHOW STATUS LIKE 'Key_write_requests'; 71Variable_name Value 72Key_write_requests 9 73SELECT COUNT(*) FROM t1; 74COUNT(*) 759 76DROP PROCEDURE sp_addRecords; 77DROP TABLE t1; 78SET @@global.delay_key_write= @start_value; 79