-1

コマンドラインで Symfony コマンドを実行するときに、mysql データベースを使用して Doctrine で Symfony2 フレームワークを使用しています...

/path/to/php app/console myCommand

このコマンドは、大量のレコード (約 35,000 以上) を更新するためのもので、1Gb でメモリが枯渇します。これらのコマンドを実行するためのより適切でおそらくより効率的な方法があるので、この問題は発生しませんか?

メモリ制限を増やすことはできますが、最終的には、ある時点で再び失敗します。

前もって感謝します

4

2 に答える 2

0

エンティティマネージャーに明確に電話する

$em = $this->getContainer()->get('doctrine')->getEntityManager();
$em->flush();
$em->clear();

データを更新するだけで、メモリに保持する必要はありません。

于 2013-03-20T12:22:31.397 に答える
0

バッチ処理を使用して、更新をチャンクで処理してみてください。

http://docs.doctrine-project.org/en/2.1/reference/batch-processing.html

于 2012-12-14T23:03:39.697 に答える