上一篇文章我们讲了
《如何快速新增百万测试数据?》
(小伙伴们可以在后台搜索呦)
还是同样的场景,我们来讲第二种新增百万数据的方法。
场景
柠檬班的APP上线了,现需要一百万个学员的信息进行压力测试,那么数据从哪里来呢?直接找开发人员帮忙?可能会被鄙视!一条一条去insert?嗯,算了下大概需要20年!
不用怕,Happy老师接下来教你一百种方法高效创建100万数据!
下面是柠檬班APP中的一个学生成绩表
表结构很简单,id是主键,自增长唯一标识一个学生,sName是柠檬班每个学生的昵称,phone是手机号码,还有一个让我们既爱又恨的分数字段score。
附建表SQL:
drop table if exists tb_lemon_student_score;create table tb_lemon_student_score(
id
int primary key auto_increment,
sName varchar
(50),
phone varchar
(11),
score tinyint
(1));
第二种方法:程序语言生成数据,使用工具进行导入
我们的思路是这样的,通过程序语言生成约定规则的百万数据,保存到文本文件中,再使用Navicat For MySQL强大的导入功能,将百万数据导入到数据库中
1:JAVA编程:写一个生成数据的应用程序
打开Eclipse,编写如下代码:
程序说明:程序使用for循环,向控制台循环输出100万条学生信息,每行表示一个学生信息,规则为:id从1到100w,sName为s_拼接上id值,手机号13000000000+id值,分数0到100随机整数,各个字段间采用分隔符“|”进行分割(这个分隔符在导入数据到数据库时有用)。
运行该JAVA应用程序,如图所示:
程序可以正常向控制台输出我们要求的数据,但是行数是有限的,默认Eclipse控制台显示行数是有限的,这个行数是可以调整的。
但是百万行文本数据的拷贝这是非常耗资源的,所以介绍另外一种更高效的方法,可以直接把我们控制台的输出全部保存到指定的文件中。
2:将程序输出保存到指定文件
1)右键JAVA类->选择Run As ->选择Run Configurations
2)选择Run Configurations界面的Common项->勾选Output File->选择File System设置保存文件的位置。
这里设置为桌面的data.txt文件:
C:\Users\tommy\Desktop\data.txt
3)再次运行程序,能够看到在桌面上生成了一个data.txt文件。
打开文件内容如下,一共100万行:
3:Navicat For MySQL导入文本数据
右键数据表,选择导入向导,选择导入类型为txt,进行一系列的导入设置后,开始导入:
注意:尤其注意要设置中间的的分隔符为竖线"|"
大概一分钟后,导入结束。
最后,select抽查,数据已经符合我们的要求了
本文由Happy老师原创,转载需注明出处!
关注简书,获取最新技术文章,让软件测试学习变得更简单!
今日福利,免费领取3小时搞定fiddler抓包实战课程视频,可加小米老师微信:13327316731 暗号:简书
网友评论