laravel chunk處理塊結果集


laravel chunk處理塊結果集

簡介

  • 如果你需要處理成千上百條數據庫記錄,可以考慮使用 chunk
    方法,該方法一次獲取結果集的一小塊,然后傳遞每一小塊數
    據到閉包函數進行處理

  • 優點:

    ​ 使用 chunk 方法能夠在處理大量數據集合時能夠有效減少內存消耗

代碼

//場景:player表有很多數據,分塊處理每次操作100條,而不是一次性操作整個數據庫
Player::chunk(100, function($players){
    foreach($players as $player) {
        $player->display_status = 1;
        $player->save();
        //DB::table('player')->where('id',$player->id)->update(['display_status'=>1]);
    }
});

//閉包函數中返回 false 來終止組塊的運行
DB::table('player')
    ->orderBy('id')
    ->chunk(100, function($players){ 
        // 處理結果集... 
        return false; 
    });


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM