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。有无方法提高执行效率?

解决方案 »

  1.   

    报错信息:
    Maximum execution time of 90 seconds exceeded
      

  2.   

    可以把要插入数组先写入到数组,最后统一插入
    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));
    //统一插入
      

  3.   


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

  4.   


    试过了,还是很慢。我还是试试set_time_limit(0)吧。谢谢!
      

  5.   

    我贴出代码,麻烦你帮我看看。$file = 'upload/NGFile.txt';
    $str  = file_get_contents($file) or die("文件打开失败");
    $r = explode("\r\n",$str);
      

  6.   

    估计是打开NGFile.txt慢
    现在社会已经是硬件来适应软件了
    搞台好的服务器,就搞定了