私のPHPアプリケーションには、レコードのインポートができる処理があります。
現在CSVからインポートしています。CSVの各ラインをfgetcsvを使って一ラインずつ読み、各ラインでデータベースクエリを含むたくさんのレコード上プロセスが行われます。更なるメモリを蓄積する必要はないはずです。
2500レコードをインポートをしたあとPHPは落ち、メモリリミットの上限(およそ132MB)に達しエラーになります。
実行時に全てのデータベースクエリをログするDebugクラスがあります。**そのSQLのストリング(30KBほど)がメモリに入っていました。**長時間稼動する処理にはふさわしくないと気づきました。これが問題の原因のひとつだと思います。
この問題を解決するいい方法はないですか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/10/10 04:34