Pagination prevents loading entire datasets at once. This guide covers pagination strategies with their tradeoffs.
Offset Pagination#
Simple but has performance issues at scale:
When to Use#
- Small datasets (< 10,000 rows)
- Need to jump to specific pages
- Simple UI requirements
Cursor-Based Pagination#
Better performance for large datasets:
Encoding Cursors#
Bidirectional Cursor Pagination#
Keyset Pagination#
Most efficient for sorted data:
GraphQL Pagination (Relay Style)#
Frontend Implementation#
React with Infinite Scroll#
Comparison#
| Method | Performance | Jump to Page | Consistency |
|---|---|---|---|
| Offset | Poor at scale | Yes | Inconsistent |
| Cursor | Good | No | Consistent |
| Keyset | Excellent | No | Consistent |
Conclusion#
Use offset pagination for simple cases with small datasets. Switch to cursor or keyset pagination for large datasets or real-time data. Cursor pagination provides the best balance of performance and usability for most applications.