Laravel chunk 使用注意的问题
文章目录
使用 Laravel 的 chunk 可以用来优化大结果集的查询,提供分块处理数据的方法,但是如下的例子就会有问题:
|
|
原因在于第一次查询:
|
|
update 这一批数据的 approved 为 1 之后,
再看第二次查询:
|
|
这个时候因为有 where approved = 0 条件并且偏移量从 100 开始,这样其实就漏掉了 100 条 approved 为 0 的数据。
所以,我们要避免使用 chunk 的时候,更改和过滤条件的字段的值。
文章作者 深 呼吸
上次更新 2018-08-14