雑文発散

«前の日記(2014-06-26) 最新 次の日記(2014-06-28)» 編集
過去の日記

2014-06-27 [長年日記]

[PHP] Doctrine2 でバッチ処理するときには、clear() を忘れずに

リリース作業に伴うデータ投入で、なんかやけに遅いなと思ったら、ループ内で clear() をせずにいたのが問題だった。

内容は、マニュアルの Bulk Inserts に書かれていることそのままなんだけど、flush() しても EntityManager はオブジェクトを保持したままなので、clear() が必要、ということらしい。

単発で使うツールだったので、負荷テスト的なことまで考えないでコーディングしてた。反省。