mysql使用存储过程插入批量测试数据

1.背景

业务代码执行过程中sql语句执行速度过慢,导致体验非常差。

2.目的

对查询语句进行优化,这就导致在进行数据库查询语句优化时需要大量数据来进行测试,一是通过数据库语句逐条插入,但这显然不符合我们的需求。另外一个方法便是通过代码来连接数据库后通过循环来插入数据。不过这显然也非常麻烦,故我们需要寻找其他方式,所以这个时候我发现可以直接通过存储过程来对数据进行批量数据操作,其原理也是使用循环来执行数据插入。

3.存储过程写法

注意事项:在书写存储过程时,若不是通过数据库可视化工具来数据存储过程时需要先将“;”进行转义,否则存储过程语句会提前结束。

3.1.写存储过程前将;转义为//

delimeter //

3.2 存储过程写法
create procedure pre()
    begin
    declare i int;
    set i=0;
    while i<1000 do
    	insert into Course(name) values(concat('course', i%100));
    set i=i+1;
    end while;
    end//
3.3 将“//”转回到";"

delimiter ;
注意:若此处不进行转义,则接下来sql无法结束,或用"//"来进行结束。

4.调用存储过程

使用如下语句即可进行批量插入

call pre();

5.删除存储过程

可使用

drop procedure pre;

来删除不需要的存储过程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值