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千多秒:
为者常成,行者常至
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)