怎样解决电子商务存在的问题专业定位不清的问题

在PostgreSQL中可以用generate_series()函数来快速生成大量测试数据,在MySQL中没有提供类似的东西。那么在做测试的时候,要往表中插入大量数据库该怎么办?可以写一个循环执行INSERT语句的存储过程,但这种方式还是太慢,我试了下,1秒钟居然只能插500条记录。比较快的方式是用程序生成一个数据文件,再用load data加载。但是直接用程序生成最终的测试数据的方式又不够灵活,因此我们可以借鉴generate_series()先做一个功能与之类似的临时数据表,再通过这个临时数据表生成大量测试数据。下面演示一下过程。
2. 生成类似于generate_series()的临时数据表
创建临时数据表tmp_series
createtabletmp_series(id int,primarykey(id));
用python生成100w记录的数据文件
python-c"for i in range(1,1+1000000): print(i)"&100w.txt
也可以直接用bash做,但bash的方式要比python慢得多
[chenhj@localhost ~]$i=1;while [ $i -le 1000000 ];do echo $let i+=1; done &100w.txt
导入数据到tmp_series表
mysql&loaddata infile'/home/chenhj/100w.txt'replaceintotabletmp_
Query OK,1000000 rows affected(9.66 sec)
Records: 1000000 Deleted: 0 Skipped: 0 Warnings: 0
生成100w记录花了9秒多。
3. 生成测试数据
创建测试数据表
createtabletb1(idint,c1int,c2varchar(100),primary key(id))
通过tmp_series表生成并插入测试数据,测试数据的计算方法可以自由发挥。
mysql&insertintotb1selectid,round(rand()*100000),concat('testdatatestdatatestdata',id)fromtmp_
Query OK,1000000rowsaffected(11.03 sec)
Records:1000000 Duplicates:0 Warnings:0
生成100w记录花了11秒,是不是挺快的!
最后生成的测试数据是长这样的。
mysql& select * from tb1 order by id limit 2;
+----+------+---------------------------+
+----+------+---------------------------+
| 1 | 648 | testdatatestdatatestdata1 |
| 2 | 111 | testdatatestdatatestdata2 |
+----+------+---------------------------+
2 rows in set (0.00 sec)
如果只想生成小的数据集,比如1000条记录,可以使用limit。
上海青大实训,最务实的上海计算机培训机构,我们的口号是:解决80,90后们与用人单位的“最后一公里”问题,我们将充分调研,根据市场用人需求的变动设置更加科学的科目,同时积极拓展就业渠道,为我们的学员提供最大的就业保障,上海电脑培训就到青大实训
请登录后收藏
用户未登录,请登录
使用更方便哦!沪ICP备3-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltdmysql循环插入100w条数据
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。mysql压力测试,要用随机函数 每秒钟写10000条记录到数据库怎么做?_mysql吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:34,247贴子:
mysql压力测试,要用随机函数 每秒钟写10000条记录到数据库怎么做?收藏
每秒钟写10000条记录到数据库 用随机数怎么做? 有现成的小程序没?
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或& & 对比一下,首先是用 mysql 的存储过程弄的:& & 复制代码代码如下:& & mysql>delimiter $& & mysql>SET AUTOCOMMIT = 0$$& & mysql> create procedure test()& & begin& & declare ……
声明:该文章系网友上传分享,此内容仅代表网友个人经验或观点,不代表本网站立场和观点;若未进行原创声明,则表明该文章系转载自互联网;若该文章内容涉嫌侵权,请及时向
论文写作技巧
上一篇:下一篇:
相关经验教程

我要回帖

更多关于 跨境电子商务 清关 的文章

 

随机推荐