PHPで質問です。


郵便局の住所データをDBにインサートする処理を入れているのですが
処理を実行するとサーバーが落ちてしまいます。

都道府県、市区、町村の3つのテーブルに分けてインサートしているのですが
サーバーに負荷をかけないで、インサートする方法はありませんか?
※CSVを選択して、アップロードと押すだけで処理を完了させたいです。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/11/10 13:40:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:oil999 No.1

回答回数1728ベストアンサー獲得回数320

ポイント50pt

どれだけの数のレコードを、どのような形でインサート処理をしているのか分かりませんが、負荷がかかってサーバが落ちる(処理がタイムアウトする?)のであれば、対象のCSVファイルを分割するしかありません。

CSVファイル分割ソフトウェア

http://hioki.jp/soft/csvc100/csvc100_j.html

id:hyoga_h No.2

回答回数23ベストアンサー獲得回数0

ポイント50pt

落ちるというのがどういう現象の事を差しているのか分かりませんが、
タイムアウトだったら
set_time_limit()をループ内に入れてみてください。
http://php.net/manual/ja/function.set-time-limit.php

また、補足になりますが
大量のデータを取り込む場合はフォームからアップロードした処理で一気に行うのではなく、
1.アップロードする機能
2.インサートする機能(バッチ)
と分けてみてはいかがでしょう?

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません