mysql 插入数据存储过程_mysql 快速插入 100W 条数据之使用存储过程

快速插入大量数据有两种思路:一是利用 java 代码实现;一是利用数据库的存储过程。

今天说一说如何利用存储过程快速插入数据。

SQL 语句需要先编译然后执行,而存储过程是一组为了完成特定功能的 SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字来调用执行它。

存储过程可以用控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。

使用存储过程可以很方便快捷的插入大量的测试数据,实测使用存储过程存放 100 万条数据,耗时 31 秒。下面就来看一下具体的操作过程:

首先,当然是建一个数据表,注意数据表的引擎使用的是 MyISAM:

CREATE TABLE `tb_user` (

`id` BIGINT (20),

`user_name` VARCHAR (200),

`user_password` VARCHAR (200),

`birth` DATETIME ,

`sex` CHAR (4),

`email` VARCHAR (200),

`mobile` VARCHAR (200),

`create_date` DATETIME ,

`update_date` DATETIME ,

`description` VARCHAR (800)

) ENGINE=MyISAM;

创建存储过程:

DELIMITER $$

CREATE

PROCEDURE `testdb`.`pro_tb_user`()

BEGIN

DECLARE i INT;

SET i=0;

WHILE i>=0 && i<= 1000000 DO

INSERT INTO testdb.`tb_user`

(`id`, `user_name`, `user_password`, `birth`, `sex`, `email`, `mobile`, `create_date`, `update_date`, `description`) VALUES

(i,'admin','123456',NOW(),'M','admin@qq.com','13812345678',NOW(),NOW(),'超级管理员');

SET i=i + 1;

END WHILE;

END$$

DELIMITER ;

调用存储过程:

call pro_tb_user();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值