Io stesso ho avuto lo stesso identico problema. Dato che vuoi raccogliere una grande quantità di questi dati e non un set specifico di 30, probabilmente eseguirai un ciclo e aumenterai l'offset di 30.
Quindi quello che puoi fare invece è:
- Mantieni l'ultimo id di un set di dati(30) (es. lastId =530)
- Aggiungi la condizione
WHERE id > lastId limit 0,30
Quindi puoi sempre avere un offset ZERO. Rimarrai stupito dal miglioramento delle prestazioni.