Symfony-Doctrine从不同数据库导入数据的最佳方式

时间:2018-01-30 10:56:42

标签: mysql symfony doctrine-orm

我正在使用Symfony 3.4,我需要每天将一些数据从表导入到另一个表。 源表存储在SQL Server的DB中。 目标表存储在MySql DB中。

哪种方法最好? 我正在考虑使用执行导入的cron命令,但我不知道我是应该使用Doctrine Entities,还是SQL并将数据存储在数组中,然后将其复制到目标表中...一些建议?感谢

1 个答案:

答案 0 :(得分:2)

一般情况下,最好使用学说实体,因为它们具有业务规则(例如,带有某些逻辑的自定义方法)

此外,你可以用EntityManager->createNativeQuery(...)部分加载实体,只选择你需要的属性/关系,这样学说水合过程将占用更少的内存。

正如@goto在评论中提到的那样,batch process是操纵大量教条实体的关键(没有它就需要这么多的记忆)

没有一个好的解决方案,它取决于您每天必须迁移多少行。如果必须处理非常庞大的数据集,可以考虑使用本机SQL查询来简单地填充数组以获得性能。

我希望它有所帮助:)