Doctrine查询优化

时间:2013-05-02 13:07:08

标签: mysql doctrine-orm doctrine doctrine-query

我使用doctrine查询构建器创建了一个查询,它在执行某些操作时一次将近65000行(包括所有3个表)插入到3个不同的表中。要完成这个完整的过程,需要大约2-3分钟到执行 。 我所做的是在循环中保持记录,然后最后刷新。 那么有什么方法可以最小化我的执行时间并在几秒钟内插入数据。

1 个答案:

答案 0 :(得分:0)

不,不幸的是,Doctrine不支持将插入分组到单个语句中。如果你需要进行批量插入,有一种可能性是在每100行左右后执行$ em-> flush()和$ em-> clear(),请参阅手册的建议:

https://doctrine-orm.readthedocs.org/en/latest/reference/batch-processing.html