Rumah > pembangunan bahagian belakang > tutorial php > 如何提高执行效率

如何提高执行效率

WBOY
Lepaskan: 2016-06-23 14:19:27
asal
1001 orang telah melayarinya

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);	}
Salin selepas log masuk


一共有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));//统一插入
Salin selepas log masuk
Salin selepas log masuk

报错信息:
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));//统一插入
Salin selepas log masuk
Salin selepas log masuk


试过了,还是很慢。我还是试试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

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan