如何提高执行效率

WBOY
Libérer: 2016-06-23 14:19:27
original
982 Les gens l'ont consulté

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);	}
Copier après la connexion


一共有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));//统一插入
Copier après la connexion
Copier après la connexion

报错信息:
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));//统一插入
Copier après la connexion
Copier après la connexion


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

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal