MySQL 语句,循环插入数据

有个测试性能需求,所以需要先往表里面插入100w条数据,数据库是mysql:

1、建表语句如下:

CREATE TABLE `user` (
  `id` int(32) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(255) DEFAULT NULL,
  `password` varchar(255) DEFAULT NULL,
  `userId` int(32) DEFAULT NULL COMMENT '用户ID',
  `workCode` varchar(64) DEFAULT NULL COMMENT  '员工编号',
  `deptName` varchar(255) DEFAULT NULL COMMENT '部门名称',
  `departmentId` int(11) DEFAULT NULL COMMENT '所属部门ID',
  `jobTitleId` int(11) DEFAULT NULL COMMENT '岗位编码',
  `jobTitle` varchar(255) DEFAULT NULL COMMENT '岗位名称',
  `subCompany` varchar(255) DEFAULT NULL COMMENT '子公司名称',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2、先写一个存储过程,然后调用存储过程执行插入:
(其中workCode字段是随机MD5码)

DELIMITER ;; 
CREATE PROCEDURE test_insert () 
BEGIN 

DECLARE i INT DEFAULT 1;

WHILE i<1000000
DO 
insert into user(id,userid,workCode) values (i,i,MD5(RAND() * 10000)); 
SET i=i+1; 
END WHILE ; 
commit; 

END;; 

CALL test_insert();

3、只是执行时间,略久,6千多秒:

为者常成,行者常至