echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075) 交流学习。
DROP PROCEDURE IF EXISTS insert_clear_metch;
DELIMITER $$
CREATE PROCEDURE insert_clear_metch (IN loop_times INT)
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < loop_times DO
SET i = i + 1;
INSERT INTO `tablename`(`id`, `column1`) VALUES (i, i);
END WHILE;
END $$
CALL insert_clear_metch (1000000);
以上代码实测太慢,插入100w条估计要一天,下面这种写法能快几百倍
不更新id,让id保持自增
DROP PROCEDURE IF EXISTS insert_clear_metch;
DELIMITER $$
CREATE PROCEDURE insert_clear_metch (IN loop_times INT)
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < loop_times DO
SET i = i + 1;
INSERT INTO `tablename`(`column1`, `column2`) VALUES (i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i),(i, i);
END WHILE;
END $$
CALL insert_clear_metch (1000000);