Skip to content

Instantly share code, notes, and snippets.

@sis0k0
Last active December 13, 2024 10:37
Show Gist options
  • Save sis0k0/e1e405cd4752f80a296014cc4db3e4ba to your computer and use it in GitHub Desktop.
Save sis0k0/e1e405cd4752f80a296014cc4db3e4ba to your computer and use it in GitHub Desktop.
Method Advantages Disadvantages
Offset-based pagination - Easy to implement and understand.
- Straightforward to enable “jump to page X” functionality.
- Performance decreases as offsets grow.
- Large offsets in frequent queries can increase CPU usage and impact system performance.
Keyset pagination - Always processes a fixed number of documents or index nodes.
- Consistent performance without additional CPU overhead.
- Direct navigation to a specific page isn’t possible without iterating through previous pages.
- The keyset must provide unique sorting.
Pre-generated pages - Pages are pre-built during writing which makes read operations as fast as possible.
- Accessing any page is quick and straightforward.
- Only for static and append-only datasets.
- Removing or rearranging items creates gaps ("holes").
- Inefficient for queries that rely on fields other than the paging key.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment