mysql的性能优化案例

在一次项目实现中,以前写了个程序,将在txt文件中的电话号码和对应的类型往数据库中插入,小数据量的情况下,用个数组遍历循环的方式,很容易解决,但是当数据量一下

但是,几十万个电话一次性插入,就变得耗时

代码如下

//$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);

这个就在只插入一次的情况下,一千多万的数据,也仅用几秒钟

这就是数据库性能优化带来的方便!

 

posted @ 2019-01-11 13:53  代码堆里的看客  阅读(460)  评论(0编辑  收藏  举报