php 循环分批量获取数据库数据

假设每次循环获取5条数据:

//方法一:(数据量大的后面查询速度会变慢 limit 10000,5)
$flag = true;
$limit = 0;
while($flag){
   $sql = "select id,name from table limit {$limit} , 5";
   $data = $db->select($sql);
   //todo 你的逻辑
   if(!$data){//数据为空,直接停止循环
      $flag = false;
      break;
   }
   $limit += 5;//每次获取后面5条,直至数据查询为空.    
}
//方法二:
$id = 0;
$limit= 5;
while(true){
    $sql = "select id,name from table where id > {$id} limit {$limit}";
    $data = $db->select($sql);
    if(!$data){
        break;
    }
    //todo 你的逻辑
    if(count($data)<$limit){
       break; 
    }
    $id = $data[$limit-1]['id'];//获取最后一次查询的Id用于下次对比
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值