您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
webman-查詢構造器-分塊結果
发布时间:2022-02-01 21:13:01编辑:雪饮阅读()
如果你需要处理成千上万条数据库记录,一次性读取这些数据会很耗时,并且容易导致内存超限,这时你可以考虑使用 chunkById 方法。
该方法一次获取结果集的一小块,并将其传递给 闭包 函数进行处理。例如,我们可以将全部 users 表数据切割成一次处理 100 条记录的一小块。
據説這樣做性能開銷比較小。
控制器中實例如:
public function index(Request $request)
{
Db::table('ecms_news')->orderBy('id')->chunkById(100, function ($users) {
foreach ($users as $user) {
$user=(array) $user;
echo "id:".$user["id"]." username:".$user["username"]."\r\n";
if($user["id"]>100){
// 闭包 中返回 false 来终止继续获取分块结果。
return false;
}
}
});
return response("ok");
}
實例被訪問時:
訪問了全局中間件!
id:86 username:雪饮
id:87 username:雪饮
id:90 username:雪饮
id:91 username:雪饮
id:92 username:雪饮
id:94 username:雪饮
id:95 username:雪饮
id:96 username:雪饮
id:99 username:雪饮
id:103 username:雪饮
注意:不要在回调里删除数据,那样可能会导致有些记录没有包含在结果集中
关键字词:webman,查詢構造器,分塊結果
相关文章
- webman-查詢構造器-獲取單個值(字段)、去重
- webman-查詢構造器-獲取一列(指定id字段的值作爲索引)
- webman-查詢構造器-獲取一行,獲取一列
- webman-查詢構造器-獲取所有行、獲取指定列
- webman-配置數據庫-使用多個數據庫(數據庫切換)
- webman-配置數據庫-webman中postgresql的配置使用
- webman-配置數據庫-pdo_pgsql擴展安裝(php7.3.4)
- webman-配置數據庫-psql基本使用及php7.3.4中pgsql擴
- webman-配置數據庫-postgresql(9.4)允許遠程鏈接(linu
- webman-配置數據庫-win10環境安裝postgresql