【MySQL】关于批量增加测试数据的解决办法

      我在测试数据库查询效率的时候,发现数据量过小而查询时间都是0.000 sec,所以就想多插已一些测试数据,但是由于设置了主键自动增长,又不可能手动修改主键,咨询同事以 及自己尝试后,发现可以通过声明一个存储过程,然后通过调用这个存储过程来达到目的,具体实现如下:

--声明存储过程,用于批量增加数据  

delimiter &&  
create procedure p1() 
begin 
declare num int; 
set num=103; --你数据库表当前最大ID+1后的值
while num <= 10000 do --当小于10000时,现在若从200开始,则添加的是800条数据
insert into t_billtool_usage_copy values(num, 'MX', 'account10013001572', 'CSB_D_a190f8d5e9d647b2b673d381497e52b7', 'Sa Chile 1', 'sa-chile-1a', 'Elastic Cloud Server', 'VM', 'c1.medium.linux', 'ffffffff-ed1c-ffff-fffc-fffffffffffc', '46800.0', 'Second', 'Duration', '2017-09-24 00:00:00 GMT+00:00', '2017-09-24 23:59:59 GMT+00:00', '', '0.7627731095703124', '0.009916050424414062', '50.29', '0.49867817584378316'); 
set num=num+1;ID++
end while;--结束循环
end&&
delimiter ;

call p1;

其中delimiter &&delimiter ;这两句语句我之前并没有加上,所以导致存储过程声明未成功,再查看这位博主的文章后,发现要加上这个两条分隔符的声明,目的是在定义前把默认的:声明为其他比如说&&,这样存储过程中定义的:就不会被认为是语句结束,否则会直接提交。定义完后还要把默认的:还原回来。以下是参考的博文地址:http://blog.csdn.net/qq_26525215/article/details/52143733?locationNum=4&fps=1



猜你喜欢

转载自blog.csdn.net/dk2290/article/details/78257105