最近在做一个项目,需要批量插入一批数据(ps:随机的),试想了一下,就想用mysql的存储过程试下,因为是在个人本机测试的,可能插入的过百秒
现在说下批量创建100万条数据
第一步:创建存储过程:
delimiter $$
create procedure multiInsertM(in args int)
begin
declare i int default 100001;
start transaction; #开启事务
while i
insert into member(id,username,mobile,email,age,created_at)
values(i, concat("张天爱-", i), 18827236292, concat("tianai", i, "@sina.com"), 30, now());
set i = i+1;
end while;
commit;
end $$
delimiter;
第二步:显示创建的存储过程:show procedure status
上图就是刚刚创建的存储过程。
第三步:执行存储过程 call multiInsertM(1000000)
select 查询刚刚执行的存储过程的结果(个人删除了一个记录)
个人对存储过程的理解:
-- 存储过程:
-- 包含一系列sql语句的集合,完成一个复杂的功能
-- 反复调用,效率非常高
领取专属 10元无门槛券
私享最新 技术干货