Sideinddeling er svært; RDBMS-modellen er ikke velegnet til et stort antal kortvarige forespørgsler med stateful scrolling. Som du har bemærket, har ressourceforbruget en tendens til at være for højt.
Du har mulighederne:
LIMITogOFFSET- Brug af en markør
- Kopiering af resultaterne til en midlertidig tabel eller til memcached eller lignende, og læs det derefter derfra
x > idogLIMIT
Af disse foretrækker jeg x > id med en LIMIT . Bare husk det sidste ID, du så, og spørg efter det næste. Hvis du har en monotont stigende sekvens vil dette være enkelt, pålideligt, og til simple forespørgsler vil det være effektivt.