北京SEO

mysql中百万级数据插入速度测试

2019/10/10/17:33:25  阅读:1966  来源:谷歌SEO算法  标签: 小明SEO博客

100W的数据对于很多朋友来说算小菜了,但今天我就想到创建一个大量数据的测试环境,于是找了一下怎么插入100W条数据,我用的是20个字段,对比一下,首先是用 mysql 的存储过程弄的,代码如下:

  1. mysql>delimiter$
  2. mysql>SETAUTOCOMMIT=0$$
  3. mysql>createproceduretest()
  4. begin
  5. declareidecimal(10)default0;
  6. dd:loop
  7. INSERTINTO`million`(`categ_id`,`categ_fid`,`SortPath`,`address`,`p_identifier`,`pro_specification`,`name`,`add_date`,`picture_url`,`thumb_url`,`is_display_front`,`create_html_time`,`hit`,`buy_sum`,`athor`,`templete_style`,`is_hot`,`is_new`,`is_best`)VALUES
  8. (268,2,'0,262,268,',0,'2342','423423','123123','2012-01-0909:55:43','upload/product/20111205153432_53211.jpg','upload/product/thumb_20111205153432_53211.jpg',1,0,0,0,'admin','0',0,0,0);
  9. commit;--phpfensi.com
  10. seti=i+1;
  11. ifi=1000000thenleavedd;
  12. endif;
  13. endloopdd;
  14. end;$
  15. mysql>delimiter;
  16. mysql>calltest;

结果我们看了用了58分钟,这也太费时差了吧.

  1. mysql>calltest;
  2. QueryOK,0rowsaffected(58min30.83sec)

非常耗时,于是我又找了一个方法,先用PHP代码生成数据,再导入,代码如下:

  1. <?php
  2. $t=mktime();
  3. set_time_limit(1000);
  4. $myFile="e:/insert.sql";
  5. $fhandler=fopen($myFile,'wb');
  6. if($fhandler){
  7. $sql="268t2t'0,262,268,'t0t'2342't'423423't'123123't'23423423't'2012-01-0909:55:43't'upload/product/20111205153432_53211.jpg't'upload/product/thumb_20111205153432_53211.jpg'tNULLtNULLt38t'件't''t123t123t0";
  8. $i=0;
  9. while($i<1000000)//1,000,000
  10. {
  11. $i++;
  12. fwrite($fhandler,$sql."rn");
  13. }
  14. echo"写入成功,耗时:",mktime()-$t;
  15. }
  16. ?>

然后再导入,代码如下:

  1. LOADDATAlocalINFILE'e:/insert.sql'INTOTABLEtenmillion(`categ_id`,`categ_fid`,`SortPath`,`address`,`p_identifier`,`pro_specification`,`name`,`description`,`add_date`,`picture_url`,`thumb_url`,`shop_url`,`shop_thumb_url`,`brand_id`,`unit`,`square_meters_unit`,`market_price`,`true_price`,`square_meters_price`);

结果不到1分钟,100万的数据就快速的导入了,注意字段不再以逗号分割,以t分割,条记录以rn分割,结果我插入10次数据,100W平均只要1分钟搞定.

总结:在大数据量处理时我们最好利用第三方插件一实现数据备份或直接在服务器上进行备份,用mysql自带的工具有时确实不理想.

广告内容

mysql中百万级数据插入速度测试 mysql中百万级数据插入速度测试 mysql中百万级数据插入速度测试

相关阅读

热门评论

爱互踩 爱互踩

爱互踩流量交换~

总篇数175

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法