Prima di tutto, tutti generano un valore casuale da 1 a MAX(id), non 100000000.
Poi ci sono almeno un paio di buone soluzioni:
-
Usa
>
non=
SELECT items FROM tablea where status='0' and id>'$id23' LIMIT 1
Crea un indice su
(status,id,items)
per rendere questa una query di solo indice. -
Usa
=
, ma riprova con un valore casuale diverso se non trovi un risultato. A volte ci vorranno diversi tentativi, ma spesso ci vorrà solo un tentativo. Il=
dovrebbe essere più veloce poiché può utilizzare la chiave primaria. E se è più veloce e lo ottiene in un tentativo il 90% delle volte, ciò potrebbe compensare l'altro 10% delle volte quando ci vuole più di un tentativo. Dipende da quante lacune hai nei tuoi valori id.