我使用教义查询生成器创建了一个查询,该生成器在执行某些操作时一次将近 65000 行(包括所有 3 个表)插入到 3 个不同的表中。要完成这个完整的过程,执行需要将近 2-3 分钟。我所做的是在循环中保留记录,然后最后刷新。那么有什么方法可以最小化我的执行时间并在几秒钟内插入数据。
问问题
45 次
1 回答
0
不,不幸的是,Doctrine 不支持将插入分组到单个语句中。如果您需要进行批量插入,一种可能性是在每 100 行左右执行一次 $em->flush() 和 $em->clear() ,请参阅手册的建议:
https://doctrine-orm.readthedocs.org/en/latest/reference/batch-processing.html
于 2013-05-03T22:29:45.140 回答