Sam miałem dokładnie ten sam problem. Biorąc pod uwagę fakt, że chcesz zebrać dużą ilość tych danych, a nie konkretny zestaw 30, prawdopodobnie uruchomisz pętlę i zwiększysz przesunięcie o 30.
Zamiast tego możesz zrobić:
- Zatrzymaj ostatni identyfikator zestawu danych(30) (np. lastId =530)
- Dodaj warunek
WHERE id > lastId limit 0,30
Dzięki temu zawsze możesz mieć przesunięcie ZERO. Będziesz zaskoczony poprawą wydajności.