我已经创建了一个使用finish查询构建器的查询,当某个东西是performed.And的时候,它可以一次将几乎65000行(包括所有3个表)插入到3个不同的表中,完成这个完整的过程几乎需要2-3分钟的执行时间。我所做的就是在循环中持久化记录,然后最后刷新。所以有什么方法可以最小化我的执行时间,并在几秒钟内插入数据。
发布于 2013-05-04 06:29:45
不,不幸的是Doctrine不支持将插入分组到单个语句中。如果您需要执行批量插入,一种可能是在大约每100行之后执行$em->flush()和$em->clear(),请参阅手册的建议:
https://doctrine-orm.readthedocs.org/en/latest/reference/batch-processing.html
https://stackoverflow.com/questions/16338810
复制相似问题