Po pierwsze, wszystkie generują losową wartość od 1 do MAX(id), a nie 100000000.
Jest też co najmniej kilka dobrych rozwiązań:
-
Użyj
> nie
=
SELECT items FROM tablea where status='0' and id>'$id23' LIMIT 1
Utwórz indeks na
(status,id,items)
aby to zapytanie było tylko indeksem. -
Użyj
=
, ale po prostu spróbuj ponownie z inną losową wartością, jeśli nie znajdziesz trafienia. Czasami wymaga to kilku prób, ale często wystarczy jedna próba.=
powinien być szybszy, ponieważ może używać klucza podstawowego. A jeśli jest szybszy i daje to za jednym podejściem w 90% przypadków, może to zrekompensować pozostałe 10% czasu, gdy wymaga więcej niż jednej próby. Zależy od tego, ile masz luk w wartościach id.