【发布时间】:2013-07-03 21:47:01
【问题描述】:
我正在使用 symfony2 和学说 mongodb odm 从 CSV 文件导入产品数据。我创建了一个控制台命令来创建Product 对象,然后将它们持久化并刷新DocumentManager。冲洗需要 30 秒以上,而我只有几千种产品。未来可能会有更多。
我想知道是否有任何优化/最佳实践可以在原则上更快地刷新大量新对象。似乎不需要对对象进行太多处理,因为它们都是新的,只需要添加到集合中即可。
【问题讨论】:
-
您是一次性冲洗这 几千 个产品还是在每次坚持后冲洗?
-
你确定问题是flush操作,而不是之前的处理?你对它进行了基准测试吗?
-
我做到了,CSV 的解析、对象的创建和持久化都需要 1-2 秒。最后的刷新调用需要 30 多秒。
-
也许您可以启用 Doctrine 的日志记录和分析。一定要对 MongoDB 做同样的事情。我认为问题不在于 PHP 处理...
-
对不起,我是个白痴。开启了 xdebug 分析器。仍然需要 7 秒才能将其关闭,但我想这更合理?
标签: symfony doctrine-odm import-from-csv