I'm Sham
一个尝试做码农的行政文员

PHP学习笔记-mysql快速插入上万条数据

2020-04-10更新

这两天发现前面使用的上传大量数据的方法,但是发现很多时候还是直接导致数据库奔溃,而且无法使用查询数据库中是否已经有数据了,所以代码还需要优化,经过群里热心大佬指点和多次尝试,终于找到了解决办法,处理方式入下:

首先,通过一次性读取数据库数据,把用来判断的键值拼接,用MD5转码之后,作为key键值存入数组;

然后通过phpexcel读取excel数据,同样把用来判断的拼接转码,然后通过isset($array[$key])来判断,如有,则通过continue跳过当前循环进入下一轮循环,如果没有,则把当前行数据全部拼接到$sql中;

为了防止一次性提交导致系统崩溃,设定每5000行提交一次数据库,这样就实现了大量数据判断提交功能了;

Sham用的是阿里云最低配入门云主机,1核2G 1M 10%突发性,虽然cpu和内存都彪红,但是至少提交个10万条数据还是跑的起来的,不错

以下是优化后的全部代码


今天Sham测试了一次性导入上万乃至十多万条数据到mysql,使用的还是phpexcel导入,使用原来的办法导入时,服务器CPU和内存直接飙到100%,而且花了很长时间最后还是导入失败,于是上网查大神的分享,貌似被我找到了,以下是代码(phpexcel对应代码已省略)

不过目前Sham还没搞懂这样做是为什么,慢慢研究吧

赞(0) 赏杯咖啡!
未经允许不得转载:Sham@双目瞿 » PHP学习笔记-mysql快速插入上万条数据
分享到: 更多 (0)
【采购季】上云仅¥223/3年

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

如果你觉得文章好,请赏1杯速溶咖啡给Sham吧!

微信扫一扫打赏