Först och främst genererar alla ett slumpmässigt värde från 1 till MAX(id), inte 100000000.
Sedan finns det åtminstone ett par bra lösningar:
-
Använd
>
inte=
SELECT items FROM tablea where status='0' and id>'$id23' LIMIT 1
Skapa ett index på
(status,id,items)
för att göra detta till en indexfråga. -
Använd
=
, men försök bara igen med ett annat slumpmässigt värde om du inte hittar en träff. Ibland tar det flera försök, men ofta tar det bara ett försök.=
bör vara snabbare eftersom den kan använda primärnyckeln. Och om det är snabbare och får det på ett försök 90 % av tiden, kan det kompensera för de andra 10 % av tiden när det tar mer än ett försök. Beror på hur många luckor du har i dina id-värden.