为什么php脚本变慢了



我正在编写迁移脚本,该脚本从一个MySQL数据库中选择数据并通过学说导入另一个MySQL数据库。问题是,在每创建一个实体块之后,我的脚本变慢了。

导入前100篇文章大约需要5秒,后100篇文章需要7秒,后10秒,依此类推。这确实是个大问题,因为我需要导入大约150万篇文章。

我发现php>=5.3有垃圾收集器清洁器。因此,当我导入文章块时,我调用gc_collect_cycles();从脚本不再需要的所有实体中清除内存。剧本不再慢下来了!

如果你正在使用一个框架,检查它是否有自己的缓存系统。如果使用doctrine,请关闭SQL日志

/** @var $em EntityManager */
$em = $this->getContainer()->get('doctrine')->getEntityManager();
$em->getConnection()->getConfiguration()->setSQLLogger(null);

,然后在每个块导入后清除条令缓存

$em->clear();

相关内容

  • 没有找到相关文章

最新更新