php讀取數據太大&運行時間長致使500Internal Server Error錯誤怎麼解決?

對於數據量大的首先若是有field最好限制field,並且能夠分批處理,每次取5000(固定數量)ide

$userCount  = D('model')->count();
    for($i = 0; $i < ceil($userCount/5000); $i++) {
        $begin    = $i * 5000;
        $end      = ($i + 1) * 5000;
        $userList = D('model')->field('key_name')->limit($begin, $end)->select();
        foreach ($userList as $value) {
            ...
        }
    }

最後大批量的數據最好文件開頭加上:
set_time_limit(0); //執行時間無限
ini_set('memory_limit', '-1'); //內存無限code

相關文章
相關標籤/搜索