我正在做一个导入模块,它使用 symfony/doctrine 批量插入 90000+ 个寄存器。为了插入每个对象,我必须从其他表中读取一个字段。因此,对于每个寄存器,我首先从另一个表中获取相关对象,如下所示:
$this->doctrine->getRepository('table1')
放到我要写的新对象里面,然后写,像这样:
$em = $this->doctrine->getManager();
$em->merge($newObject);
$em->flush();
(我使用合并,因为它是保存现有对象和新对象的通用方法)但是即使我将 apache 设置为长时间等待(这是不可取的),这也会花费太多时间并且响应超时。Doctrine_Collection 方法也不起作用。任何人都知道一种方法可以更好地做到这一点,以便在合理的时间内返回?
谢谢