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 1Utwó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.