在Doctrine2迭代中进行实际清理

时间:2014-03-14 17:32:18

标签: doctrine-orm batch-processing

我已经阅读了手册,但它似乎并没有这样做。我迭代一个大型数据集,处理统计数据。我的内存使用量爆炸,我没做什么就阻止了它。

我尝试过分离,清理,取消安排,打电话给gc_collect_cycles并在满月下裸体跳舞 - 没有什么能有所作为。

我有一个复杂的数据集,有许多关系,很多人在处理过程中被拉入内存,所以我很确定这是罪魁祸首,可能是一个循环引用或者某个地方有10个

我需要的东西告诉Doctrine现在抛弃它在内存中的所有内容,停止尝试变聪明,并在下一次迭代中从头开始,除了迭代结果本身之外什么都没有。 NOTHING。

em-> clear()不会这样做。实际上,一些测试运行显示清除,去除 - 在我的情况下确实没有区别。

有没有办法告诉Doctrine不再贪婪并且保留了2百万件物品,让人无关紧要了?

0 个答案:

没有答案