0.背景

mysql8.0+navicat

1.过程

依次执行下面3条sql语句。

CREATE TABLE `test` (
  `id` int(7) NOT NULL AUTO_INCREMENT COMMENT '自增id',
  `name` varchar(50) NOT NULL COMMENT '名称',
  `pwd` varchar(50) NOT NULL COMMENT '密码',
  `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP,
   `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COMMENT='测试表';
DELIMITER $$     -- 写函数之前必须要写

CREATE FUNCTION test_data()
RETURNS INT DETERMINISTIC
BEGIN
	DECLARE num INT DEFAULT 1000000;
	DECLARE i INT DEFAULT 0;
	WHILE i<num DO
		INSERT INTO `test`(`name`,`pwd`)VALUES(CONCAT('用户',i),UUID());
		SET i=i+1;
	END WHILE;
	RETURN i;
END $$
select test_data();   -- 执行函数

执行时间大概是 224.350s