mysql数据库编写存储过程实现批量插入1000万条数据

第一步导入数据库表:


CREATE TABLE `test_use`  (

 `id` int(11) NOT NULL,

 `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,

 `sex` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,

 `age` int(11) NULL DEFAULT NULL,

 PRIMARY KEY (`id`) USING BTREE,

 UNIQUE INDEX `name`(`name`) USING BTREE

) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;

第二步创建存储过程:


DELIMITER $$


CREATE

   PROCEDURE `test_user`.`test_insert`(IN args INT)

     BEGIN

     DECLARE i INT DEFAULT 1;

     START TRANSACTION;

     WHILE i <=args DO

       INSERT INTO test_use(id,NAME,sex,age) VALUE(i,CONCAT("小王-",i),'男',22);

       SET i=i+1;

       END WHILE;

          COMMIT;

   END$$

DELIMITER ;


第三步调用生成插入1000万条记录:


最后执行:call test_insert(10000000); 即可


需要执行一段时间具体看电脑的性能而定


最终的查询生成的条数:

mysql数据库编写存储过程实现批量插入1000万条数据mysql数据库编写存储过程实现批量插入1000万条数据

上一篇:【原创】用户空间死循环导致memcached访问变慢问题排查


下一篇:SQL2K数据库开发三十之存储过程操作删除存储过程