本文实例讲述了php导入大量数据到mysql性能优化技巧。分享给大家供大家参考。具体分析如下:
在mysql中我们结合php把一些文件导入到mysql中,这里就来分享一下我对15000条记录进行导入时分析与优化,需要的朋友可以参考一下.
之前有几篇文章,说了最近tiandi在帮朋友做一个小项目,用于统计电话号码的,每次按需求从数据库里随机生成打包的电话号码,然后不停地让人打这些电话号码推销产品(小小鄙视一下这样的行为)。但是朋友要求帮忙,咱也不能不帮啊,是吧。程序两个星期前已经做好,测试完毕交工。前几天朋友来电说,每天导入电话号码的时间越来越长,有时候一万条记录就要半个小时以上,看看能不能想办法提高一下这个速度。
我理了一下思路,数据库结构很简单,可以认为就两个字段,一个字段存电话号码,另一字段存类别,类别分别为c,d,e等等,分别代表已经拨通过此电话,未拨通过此电话,未拨打过此电话等等状态,而整个程序逻辑是这样的.
■拿到一个txt文件,里面存的是电话号码
■通过程序将txt文件导入到mysql里
■导入的时候,检测txt里的电话号码是否和mysql里的重复,如果不重复,直接插入新记录,如果重复,就需要按照判断电话号码所属类别来进行更新。
由于每个txt里的电话号码导入时,都需要做一次比较,所以程序肯定会耗时一些,这里我们先撇开这个原因,因为本文章的标题是优化写入速度,那么程序什么时候会写入记录呢?通过上面的逻辑得知,在匹配数据库时,没有发现存在记录时会发生写入数据库操作(当然update也算,只是这里只讨论insert),那么将上述逻辑转化为代码,差不多如下:
//$array为txt文件explode出来的数组,每一个为一个电话号码, $str为类型 for($i=0; $i<count($array); $i++) { $tmpstr = "'". $array[$i] ."','". $str ."'"; $sql="INSERT INTO ".$usertable." (tel,type) VALUES (".$tmpstr.")"; mysql_query($sql); }
$sql2="INSERT INTO ".$usertable." (tel,type,updatetime) VALUES"; for($i=0; $i<count($array); $i++) { $tmpstr = "'". $array[$i] ."','". $str ."'"; $sql2 .= "(".$tmpstr."),"; } $sql2 = substr($sql2,0,-1); //去除最后的逗号 mysql_query($sql2);
希望本文所述对大家的php程序设计有所帮助。
本文向大家介绍MySQL性能优化技巧分享,包括了MySQL性能优化技巧分享的使用技巧和注意事项,需要的朋友参考一下 MySQL性能优化 在互联网公司MySQL的使用非常广泛,大家经常会有MySQL性能优化方面的需求。整理了一些在MySQL优化方面的实用技巧。 Schema与数据类型优化 整数通常是标识列最好的选择,因为它们很快并且可以使用AUTO_INCREMENT 完全“随机”的字符串(如:MD
本文向大家介绍Mysql数据库性能优化一,包括了Mysql数据库性能优化一的使用技巧和注意事项,需要的朋友参考一下 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多
本文向大家介绍数据库Mysql性能优化详解,包括了数据库Mysql性能优化详解的使用技巧和注意事项,需要的朋友参考一下 在mysql数据库中,mysql key_buffer_size是对MyISAM表性能影响最大的一个参数(注意该参数对其他类型的表设置无效),下面就将对mysql Key_buffer_size参数的设置进行详细介绍下面为一台以MyISAM为主要存储引擎服务器的配置: 分配了51
本文向大家介绍Python性能优化技巧,包括了Python性能优化技巧的使用技巧和注意事项,需要的朋友参考一下 Python是一门非常酷的语言,因为很少的Python代码可以在短时间内做很多事情,并且,Python很容易就能支持多任务和多重处理。 py 1、关键代码可以依赖于扩展包 Python使许多编程任务变得简单,但是对于很关键的任务并不总是提供最好的性能。使用C、C++或者机器语言扩展包
本文向大家介绍MySQL数据库查询性能优化策略,包括了MySQL数据库查询性能优化策略的使用技巧和注意事项,需要的朋友参考一下 优化查询 使用Explain语句分析查询语句 Explain 用来分析 SELECT 查询语句,开发人员可以通过分析 Explain 结果来优化查询语句。 通过对查询语句的分析,可以了解查询语句的执行情况,找出查询语句执行的瓶颈,从而优化查询语句. 使用索引查询 MySq
主要内容:1、Chunk缓冲机制,2、Packet数据包机制,3、内存队列异步发送机制,总结:这篇文章,我们来聊一聊在十亿级的大数据量技术挑战下,世界上最优秀的大数据系统之一的Hadoop是如何将系统性能提升数十倍的? 首先一起来画个图,回顾一下Hadoop HDFS中的超大数据文件上传的原理。 其实说出来也很简单,比如有个十亿数据量级的超大数据文件,可能都达到TB级了,此时这个文件实在是太大了。 此时,HDFS客户端会给拆成很多block,一个block就128MB。 这个HDFS客户端