do...while和while...do的兩種場景比較

場景:腳本每5分鐘執行一次,從數據庫中每次查詢1000數據進行處理,直處處理結束。兩種用while和do...while兩種方式實現的僞代碼以下:mysql

1. while...dosql

$count = mysql.query('select count (*) from tb where status=1');
$round = ($count % 1000) == 0 ?  ($count / 1000) +1: ($count / 1000) 
while($round > 0){
    $dbRes = mysql.query('select * from tb where status=1 limit 1000');
    dealWithRes($dbRes);
    $round -= 1;
}

2. do...while數據庫

do{
    $dbRes = mysql.query('select * from tb where status=1 limit 1000');
    if(count($dbRes) > 0){
        dealWithRes($dbRes);
    }
}while(count($dbRes) > 0)

比較:do...while沒有查詢次數的限制,對於源源不斷生成的數據可以及時處理,可以提高用戶體驗。spa

相關文章
相關標籤/搜索