人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで質問です。

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

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

●質問者: makocan
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● oil999
●50ポイント

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

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

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


2 ● hyoga_h
●50ポイント

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

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

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ