mysql 批量插入测试数据,两分钟插入10W条

CREATE PROCEDURE pro_cust_batch()
BEGIN
declare v_login_name BIGINT DEFAULT 13800000000;
declare v_max BIGINT DEFAULT 100000;
declare batch int default 50;
declare i int default 0;
declare v_pwd varchar(35);
declare v_img varchar(150);
declare v_groupId int;
declare v_regfrom varchar(10);
declare v_curdate datetime;
declare v_sqltext VARCHAR(9000);
declare v_firstSql VARCHAR(400);

set v_pwd='e10adc3949ba59abbe56e057f20f883e';
set v_img='Users/img/1.png';
set v_groupId=27;
set v_curdate=NOW();
set v_sqltext='';

WHILE i < v_max DO
set i = i + 1;
set v_login_name=v_login_name+1;
set v_regfrom=concat('PC',i);

set v_firstSql=concat('(''',v_login_name,''',''',v_pwd,''',''',v_img,''',''',v_login_name,''',''',v_curdate,''',',v_groupId,',''',v_regfrom,''',',0,',',1,',',1,',''',v_curdate,''')');
if mod(i,batch)=1 then
set v_sqltext=concat(v_firstSql);
else
set v_sqltext=concat(v_sqltext,',',v_firstSql);
end if;

if mod(i,batch)=0 then
set @sqltext=concat('INSERT INTO cus_customer(LoginName,Pwd,Uimage,Mobile,RegTime,GroupId,RegFrom,MaxOnline,State,CreateId,CreateTime) VALUES ',v_sqltext);
prepare stmt from @sqltext;
execute stmt;
DEALLOCATE PREPARE stmt;
set v_sqltext='';
end if;

END WHILE;

end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值