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