日期:2014-05-17  浏览次数:20459 次

如何提高执行效率

for($i=0; $i<count($r); $i++)
{
$var = explode(" ,",$r[$i]);
$barcode = $var[0];
$num = $var[1];
$sql = "insert into `".$t."`(barcode,num) values('".$barcode."','".$num."')";
echo $sql.'<br />';
mysql_query($sql);
}


一共有6000多条记录,如果每条记录都执行insert into,消耗时间很长,超过默认的90s。有无方法提高执行效率?

------解决方案--------------------
可以把要插入数组先写入到数组,最后统一插入


for($i=0; $i<count($r); $i++)
{
$var = explode(" ,",$r[$i]);
$barcode = $var[0];
$num = $var[1];
$sql[] = "('".$barcode."','".$num."')";//写入到sql数组
}
mysql_query('insert into `'.$t.'`(barcode,num)  values '.implode(',',$sql));
//统一插入

------解决方案--------------------
引用:
报错信息:
Maximum execution time of 90 seconds exceeded


时间超时可以在头上面加上
<?php 
set_time_limit(0);
?>