0

SQL クエリの結果を 2 つの部分に分割します。私がこれをやりたい理由は、サーバーが最初に20個のアイテムだけを処理し、次にsleep残りの部分を処理したいからです。

SQLでクエリを複数のクエリに分割しmysql_queryて、パーツを次々と個別に処理できるようにするにはどうすればよいですか?

私のビジョンはこれです:

if(mysql_row_nums($sql)>20){
  handle only 20 items
} else {
  handle all
}

読んでくれてありがとう。

4

3 に答える 3

2

limit 0,20クエリで設定することでこれを行うことができます

Limitは、MySQL クエリの結果を指定された範囲内に制限するために使用されます。これを使用して、最初の X 件の結果を表示したり、X ~ Y の結果の範囲を表示したりできます。

于 2012-11-12T08:25:05.033 に答える
1

試す

if(mysql_num_rows($sql)>20){
   $i = 0;
   while($result = mysql_fetch_array($sql)){
        $i++;
        if($i <= 20){
           // do some thing with first 20 result
           var_dump($result);
        }
        if($i == 20){
            // if we have arrived to result #20 stop excuting script for minute
            sleep(60); // 60 = 1 minute ; 
        }
        if($i > 20){

            // continue dealing with result after first 20 result. 
        } 
   }
} 
于 2012-11-12T08:29:07.747 に答える
1

SQL LIMIT 引数を確認してください: LIMIT

于 2012-11-12T08:26:10.500 に答える