【MySQL】关于批量增加测试数据的解决办法
2017-10-17 09:54
302 查看
我在测试数据库查询效率的时候,发现数据量过小而查询时间都是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
--声明存储过程,用于批量增加数据
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
相关文章推荐
- HBase 高性能获取数据(多线程批量式解决办法) + MySQL和HBase性能测试比较
- HBase 高性能获取数据(多线程批量式解决办法) + MySQL和HBase性能测试比较
- 6.(Mysql数据管理相关)连接MYSQL,修改密码,增加新用户,数据库相关命令,表操作相关命令,数据相关命令,数据库sql导入和导出,备份数据库,查看不到mysql数据库的解决办法
- 关于MySQL从数据库文件恢复数据的简单解决办法
- MYSQL导数据时 有“MYSQL unknown command '/'”的解决办法
- MySQL 关于连接池用完的问题和too many connection ----解决办法
- 关于:MySQL 安装过程中出现“could not start the service mysql error:0”的解决办法。
- 关于asp从sqlserver2000数据库中取出中文数据乱码的解决办法之一
- .NET Excel 2003 批量插入数据很慢的解决办法
- SQL SERVER与MYSQL数据导入导出问题解决办法
- 关于mysql版本升级后,原有的数据无法访问的解决方法,mysql错误代码:1558
- mysql导入数据时提示 USING BTREE 相关错误解决办法
- 关于vs2010服务器资源管理器-再添加数据连接时无法获取服务器名的解决办法
- 关于Lotus Notes的私有视图数据显示不完整的解决办法
- linux 下 mysql下保存进去数据为乱码的解决办法(centos5.x)
- 关于MySQL数据量增加变化不大时,一种分页的优化方案
- MySQL问题贴3:Delphi第一次编译连接MySQl数据时缺少dll文件的解决办法
- 关于Linux系统增加SCSI硬盘不识别的问题及解决办法
- 关于重新apache后无法载入mysql扩展解决办法
- 向MySQL插入数据乱码解决办法