700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > php导入大量数据到mysql性能优化

php导入大量数据到mysql性能优化

时间:2022-01-10 14:31:46

相关推荐

php导入大量数据到mysql性能优化

php教程|php手册

php,导入,大量,数据,到,mysql,性能,优化,在,mysql,中,我们,结合,php,把,一些,文件,导入,到,

php教程-php手册

在mysql中我们结合php把一些文件导入到mysql中,下面我来分享我对15000条记录进行导入时分析与优化,各位朋友可参考。

国外 视频聊天 网站源码,ubuntu破解pin码,爬虫网页html动态,php &lt,seo caso模特lzw

之前有几篇文章,说了最近tiandi在帮朋友做一个小项目,用于统计电话号码的,每次按需求从数据库里随机生成打包的电话号码,然后不停地让人打这些电话号码推销产品(小小鄙视一下这样的行为)。但是朋友要求帮忙,咱也不能不帮啊,是吧。程序两个星期前已经做好,测试完毕交工。前几天朋友来电说,每天导入电话号码的时间越来越长,有时候一万条记录就要半个小时以上,看看能不能想办法提高一下这个速度。

搭建微信视频网站源码,ubuntu集群重启挂载,tomcat服务器pdf,淘宝爬虫技术,php请求方式,长尾效应在seo推广中的应用lzw

我理了一下思路,数据库结构很简单,可以认为就两个字段,一个字段存电话号码,另一字段存类别,类别分别为c,d,e等等,分别代表已经拨通过此电话,未拨通过此电话,未拨打过此电话等等状态,而整个程序逻辑是这样的:

政府整站源码织梦内核,ubuntu 删内核教程,tomcat连接数据库时间,爬虫 网站所有网页,php实现10秒后跳转网页,seo基础计划lzw

■拿到一个txt文件,里面存的是电话号码

■通过程序将txt文件导入到mysql里

■导入的时候,检测txt里的电话号码是否和mysql里的重复,如果不重复,直接插入新记录,如果重复,就需要按照判断电话号码所属类别来进行更新。

由于每个txt里的电话号码导入时,都需要做一次比较,所以程序肯定会耗时一些,这里我们先撇开这个原因,因为本文章的标题是优化写入速度,那么程序什么时候会写入记录呢?通过上面的逻辑得知,在匹配数据库时,没有发现存在记录时会发生写入数据库操作(当然update也算,只是这里只讨论insert)。那么将上述逻辑转化为代码,差不多如下:

以上代码完全正确,但是效率低下,当txt文件里包含了上万个电话号码时,即会有上万次的插入数据库操作,虽然每次的数据库写入操作都是很快的,但是上万条累计下来,这个执行时间不容忽视。tiandi简单的测试了一下插入15000万条记录,耗时差不多5分钟。如果再加上之前的逻辑判断等等过程,那么半个小时还真得不算少了。这样可不行,必须减少数据库库写入次数才对,于是上面代码变更为以下:

这样,整个写入操作只有1次,大大地缩短了执行时间,差不多10秒就搞定了15000条记录。好了,本文到此结束,如果你也遇上写入大量数据到mysql耗时长的问题时,不如试试本文的优化方式。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。