【发布时间】:2019-10-20 21:09:52
【问题描述】:
我可以导入大约 500 万条记录。
我还必须在导入过程中同时为相关表创建条目。
我必须对新条目进行成组插入查询,并处理所有查询并分块进行处理。
还有哪些其他方法可以加快进程?
【问题讨论】:
-
Redis 是什么?我已经检查过了。但拿不到。
-
批处理作业可能会有所帮助,但内存可能会很有挑战性
-
也许使用一个单独的队列服务器,它只是缓慢地运行作业?可以使用 redis。
-
可以理解。查询很简单,是但不是整个操作。使用 DB 门面可能会更快,因为您可以使用 insert 方法一次插入多条记录。
-
对于初学者,不要与 API 进程同步。它可能会并且需要超过 10 秒。 IMO,将文件转储到临时存储(s3 或磁盘上)。使用 Laravel Job,触发插入过程。在 UI 方面,显示一个加载器。在数据库中维护与流程相关的(处理的数量)。您的问题不应该是“如何优化 Eloquent 查询”,而是“如何优化流程”
标签: laravel laravel-5.7 php-7.1 laravel-5.8