Paginacja jest trudna; model RDBMS nie jest dobrze dostosowany do dużej liczby krótkotrwałych zapytań z przewijaniem stanowym. Jak zauważyłeś, zużycie zasobów jest zwykle zbyt wysokie.
Masz opcje:
LIMITiOFFSET- Za pomocą kursora
- Kopiowanie wyników do tabeli tymczasowej lub do memcached lub podobnego, a następnie odczytywanie ich stamtąd
x > idiLIMIT
Spośród nich wolę x > id z LIMIT . Po prostu zapamiętaj ostatni dowód, który widziałeś i poproś o następny. Jeśli masz monotonnie rosnącą sekwencję, będzie to proste, niezawodne i wydajne w przypadku prostych zapytań.