Я хочу протестировать сцену, которая вставляет около 100 000 данных, и обнаружил, что если я установлю автокоммит VARIABLES на ноль и выполню хранимые процедуры 1, а затем сбросу автокоммит на 1, это займет всего около 0,2 с;но если я извлекаю тираж из хранимых процедур 1 как хранимые процедуры 2 и выполняю его 10000 раз, это занимает около 26 секунд, похоже, что база данных все еще фиксируется при вызове хранимых процедур 2 каждый раз, даже если отключена автоматическая фиксация.Почему это случилось?Спасибо за ваш ответ.
хранимые процедуры 1:
DECLARE i INT DEFAULT 0;
SET i=0;
WHILE i<10000 DO
INSERT INTO `test_table` ( `objectType`, `addedDate`, `editedDate`)
VALUES ('task','2017-11-17 15:44:23', '2017-11-17 15:44:23');
SET i=i+1;
END WHILE;
хранимые процедуры 2: вызовите этот sp 10000 раз
INSERT INTO `test_table` ( `objectType`, `addedDate`, `editedDate`)
VALUES ('task','2017-11-17 15:44:23', '2017-11-17 15:44:23');
autocommit:OFF