Paginierung ist schwierig; Das RDBMS-Modell eignet sich nicht gut für eine große Anzahl kurzlebiger Abfragen mit Stateful-Scrolling. Wie Sie bemerkt haben, ist der Ressourcenverbrauch tendenziell zu hoch.
Sie haben die Möglichkeiten:
LIMIT
undOFFSET
- Einen Cursor verwenden
- Kopieren der Ergebnisse in eine temporäre Tabelle oder in memcached oder ähnliches und lesen sie dann von dort aus
x > id
undLIMIT
Von diesen bevorzuge ich x > id
mit einem LIMIT
. Merken Sie sich einfach den letzten Ausweis, den Sie gesehen haben, und fragen Sie nach dem nächsten. Wenn Sie eine monoton ansteigende Sequenz haben, ist dies einfach, zuverlässig und für einfache Abfragen effizient.