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:
LIMIT
ogOFFSET
- Brug af en markør
- Kopiering af resultaterne til en midlertidig tabel eller til memcached eller lignende, og læs det derefter derfra
x > id
ogLIMIT
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.