我正在使用Symfony 3.4,我需要每天将一些数据从表导入到另一个表。 源表存储在SQL Server的DB中。 目标表存储在MySql DB中。
哪种方法最好? 我正在考虑使用执行导入的cron命令,但我不知道我是应该使用Doctrine Entities,还是SQL并将数据存储在数组中,然后将其复制到目标表中...一些建议?感谢
答案 0 :(得分:2)
一般情况下,最好使用学说实体,因为它们具有业务规则(例如,带有某些逻辑的自定义方法)
此外,你可以用EntityManager->createNativeQuery(...)
部分加载实体,只选择你需要的属性/关系,这样学说水合过程将占用更少的内存。
正如@goto在评论中提到的那样,batch process是操纵大量教条实体的关键(没有它就需要这么多的记忆)
没有一个好的解决方案,它取决于您每天必须迁移多少行。如果必须处理非常庞大的数据集,可以考虑使用本机SQL查询来简单地填充数组以获得性能。
我希望它有所帮助:)