郵便局の住所データをDBにインサートする処理を入れているのですが
処理を実行するとサーバーが落ちてしまいます。
都道府県、市区、町村の3つのテーブルに分けてインサートしているのですが
サーバーに負荷をかけないで、インサートする方法はありませんか?
※CSVを選択して、アップロードと押すだけで処理を完了させたいです。
どれだけの数のレコードを、どのような形でインサート処理をしているのか分かりませんが、負荷がかかってサーバが落ちる(処理がタイムアウトする?)のであれば、対象のCSVファイルを分割するしかありません。
落ちるというのがどういう現象の事を差しているのか分かりませんが、
タイムアウトだったら
set_time_limit()をループ内に入れてみてください。
http://php.net/manual/ja/function.set-time-limit.php
また、補足になりますが
大量のデータを取り込む場合はフォームからアップロードした処理で一気に行うのではなく、
1.アップロードする機能
2.インサートする機能(バッチ)
と分けてみてはいかがでしょう?
コメント(0件)