Prefer keyset pagination over deep OFFSET scans for large result sets.
Section: High-value Query Performance Patterns
Keyset pagination
sql
sql
SELECT *
FROM orders
WHERE (created_at, order_id) < ('2026-03-01', 1000)
ORDER BY created_at DESC, order_id DESC
LIMIT 50;Explanation
See summary for usage details.
Learn the surrounding workflow
Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.
Related commands
Same sheet · prioritizing High-value Query Performance Patterns
Select needed columns
Avoid fetching unnecessary columns, especially wide rows.
Covering index with INCLUDE
Use included columns to support index-only reads for certain queries.
Batch updates
Chunk large writes into batches to reduce contention and WAL spikes.
Create range-partitioned table
Partition large time-series tables by range.