详细信息 您现在的位置是:首页 > ThinkPHP
数据分批处理chunk
来源:
发布时间:2021-08-29
2137 人已围观
摘要的时候我们会遇到需要定时操作数据的需求,比如定时更新所有用户的权益,徽章等等。这个时候你不能一次性取出所有数据来进行操作,因为数据量太大了,我们一次取出全部,先不说mysql数据库会很慢,就算取出来传给你,网络开销也很大。
所以我们就需要分页取出数据来进行操作,比如每次取出100条,操作完了再取出下100条。而tp框架提供了一个方便的chunk方法来供我们使用,免去了我们需要手动limit分页的麻烦。
public function chunklist(){ $map = []; $map[] = ['id','>',21]; $list = Db::name('ord')->where([$map])->chunk(100,function($dat){ foreach ($dat as $key => $value) { $data = []; $data['id'] = $value['id']; $data['CardId'] = 45; $data['IsRound'] = 1630142868; $data['MultiUid'] = 3; Db::name('ord')->update($data); } });
这样去分批处理大量数据的时候就不用担心数据库、网络开销太大了。
上一篇: TP6路由要知道的内容
下一篇: TP中field的使用技巧
站点信息
- 电话:15226178738
- QQ:1697915848
- 邮箱:1697915848@qq.com