Laravelのchunkとcursor DBデータを小分けにして取得
chunk/cursor
大量のデータをgetなど処理する場合に使う。
メモリの使用量を少なくする。
chunk(塊)
一定量ずつ処理
chunk(10, function ($people){ foreach($people as $person) { //処理の実行 } }
10件ずつ取得して処理を実行。
10件終わったら次の10件を取得して処理の実行。
Laravel Eloquentで大量のデータを取得する場合 - Qiita
cursor(カーソル)
1クエリずつ処理。
Laravel(Eloquent): chunk() vs cursor() - Qiita
大量のデータを扱う場合、allよりはマシだがメモリの使用量は大きい。