ホームページ > バックエンド開発 > PHPチュートリアル > 実行効率を向上させる方法

実行効率を向上させる方法

WBOY
リリース: 2016-06-23 14:19:27
オリジナル
997 人が閲覧しました

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);	}
ログイン後にコピー


合計 6,000 件を超えるレコードがあるため、レコードごとに insert into を実行すると、デフォルトの 90 秒を超えて時間がかかります。実行効率を向上させる方法はありますか?


ディスカッションへの返信 (解決策)

エラー メッセージ:
最大実行時間 90 秒を超えました

最初に配列に挿入する配列を記述し、最後にそれを一緒に挿入することができます

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));//统一插入
ログイン後にコピー

エラー メッセージ:
最大実行時間 90 秒を超えました

タイムアウトをヘッダーに追加できます
set_time_limit(0);

配列に挿入する配列を最初に記述し、最後に配列を記述することができます均一に挿入してください

れーれー

試してみました はい、まだ非常に遅いです。 set_time_limit(0) を試してみると良いでしょう。ありがとう!

それでも遅いのはなぜですか? $r の取得が遅いのは 6000 行だけなので、一般的には非常に速いはずです。

それでも遅いのはなぜですか? $r の取得が遅いのは 6000 行だけなので、一般的には非常に速いはずです。

コードを投稿しました。見ていただけると助かります。

$file = 'upload/NGFile.txt';
$str = file_get_contents($file) または die("ファイルを開くことができませんでした");

おそらく開くNGFile.txt が遅い

今、社会はハードウェアをソフトウェアに適応させています

良いサーバーを構築するだけで完了です

NGFile.txt を開くのは遅いと思います

今の社会はハードウェアをソフトウェアに適応させています

良いサーバーを構築してください 、それです
thx

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート