Jag hade exakt samma problem själv. Med tanke på det faktum att du vill samla in en stor mängd av denna data och inte en specifik uppsättning av 30 kommer du förmodligen att köra en loop och öka offseten med 30.
Så det du kan göra istället är:
- Håll det sista ID:t för en uppsättning data(30) (t.ex. lastId =530)
- Lägg till villkoret
WHERE id > lastId limit 0,30
Så du kan alltid ha en NOLL offset. Du kommer att bli förvånad över prestandaförbättringen.