Comparing offset, cursor, and deferred join pagination over a 1M-row transaction table.
Click Next on each panel to paginate. Watch the timer — offset slows down, cursor does not.
Offset
Page 1 / 50,000⏱ 0.0ms
Loading...
Cursor
Next 20 results⏱ 0.0ms
Loading...
Deferred Join
Page 1⏱ 0.0ms
Loading...
Page 1
Benchmarking pagination strategies...
Fetching 27 data points across 1M rows
Numbers measured live against a remote database — network latency and connection
jitter can outweigh the actual query-time differences between strategies, especially
on first load. Treat the overall trend (offset degrading at depth) as the signal, not
any single point.
Same benchmark, captured against a local Postgres instance (no network latency) —
a clean look at how each strategy scales by query cost alone.