对于数据量大的首先如果有 field 最好限制 field, 而且可以分批处理, 每次取 5000(固定数量)
- $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); // 内存无限
来源: http://www.bubuko.com/infodetail-2534962.html