我正在编写迁移脚本,它从一个MySQL数据库中选择数据,并通过理论导入另一个MySQL数据库。问题是,在创建了每一块实体之后,我的脚本就慢了下来。
前100篇文章大约需要5秒才能导入,接下来的100篇文章则需要7秒,接下来的10秒等等。这确实是个大问题,因为我需要导入大约1.500.000篇文章。
发布于 2014-03-19 09:41:04
我发现php >=5.3有垃圾收集器清洁器。因此,当我导入文章块时,我调用循环();来清除脚本不再需要的所有实体中的内存。剧本已经慢下来了!
如果使用的是框架,请检查它是否有自己的缓存系统。如果您使用的是原则,请关闭SQL记录器。
/** @var $em EntityManager */
$em = $this->getContainer()->get('doctrine')->getEntityManager();
$em->getConnection()->getConfiguration()->setSQLLogger(null);然后在导入每个块之后清除原则缓存。
$em->clear();https://stackoverflow.com/questions/22501641
复制相似问题