当一个表的laravel中有超过200k行时,如何有效地获取该表的所有行



我在一个表中有超过200k行,我需要获取所有行并对其执行一些操作。我尝试了laravel paginator,但随后在每个页面上迭代并在laravel后端api代码中获取数据时遇到了问题

有一个名为chunk((的函数,它将所有数据拆分为单独的选择,如分页

User::chunk(100, function ($users) {
foreach ($users as $user) {
// code logic here to perform on user
}
});

它实际所做的是运行一个循环,选择100个条目,然后对它们进行更新,然后再选择100个,再进行更新等等。这意味着在任何时候都不会有大量数据从数据库中获取——你使用的是一大块条目,而不是整个表。

最新更新