如何提高执行效率

WBOY
發布: 2016-06-23 14:19:27
原創
981 人瀏覽過

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


回复讨论(解决方案)

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

可以把要插入数组先写入到数组,最后统一插入

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

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

可以把要插入数组先写入到数组,最后统一插入

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));//统一插入
登入後複製
登入後複製


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

如何还是慢,肯定是获取$r慢,才6000行,一般情况应该很快才对!

如何还是慢,肯定是获取$r慢,才6000行,一般情况应该很快才对!
我贴出代码,麻烦你帮我看看。

$file = 'upload/NGFile.txt';
$str  = file_get_contents($file) or die("文件打开失败");
$r = explode("\r\n",$str);

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

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板