まず、100000000ではなく、1からMAX(id)までのランダムな値を生成します。
次に、少なくとも2つの優れた解決策があります。
-
>
を使用する=
ではありませんSELECT items FROM tablea where status='0' and id>'$id23' LIMIT 1
(status,id,items)
にインデックスを作成します これをインデックスのみのクエリにします。 -
=
を使用する 、ただし、ヒットが見つからない場合は、別のランダム値で再試行してください。数回の試行が必要な場合もありますが、多くの場合、1回の試行のみが必要です。=
主キーを使用できるため、より高速になるはずです。そして、それがより速く、90%の時間で1回の試行でそれを取得する場合、複数回の試行が必要な場合、残りの10%の時間を補うことができます。 id値にいくつのギャップがあるかによって異なります。