Commit cc8024f9 authored by Adam Hegyi's avatar Adam Hegyi Committed by Achilleas Pipinellis

Pagination developer guide

parent 0a68a582
...@@ -60,6 +60,8 @@ info: To determine the technical writer assigned to the Stage/Group associated w ...@@ -60,6 +60,8 @@ info: To determine the technical writer assigned to the Stage/Group associated w
- [Updating multiple values](setting_multiple_values.md) - [Updating multiple values](setting_multiple_values.md)
- [Constraints naming conventions](constraint_naming_convention.md) - [Constraints naming conventions](constraint_naming_convention.md)
- [Query performance guidelines](../query_performance.md) - [Query performance guidelines](../query_performance.md)
- [Pagination guidelines](pagination_guidelines.md)
- [Pagination performance guidelines](pagination_performance_guidelines.md)
## Case studies ## Case studies
......
This diff is collapsed.
This diff is collapsed.
...@@ -12,6 +12,10 @@ GitLab uses two primary types of pagination: **offset** and **keyset** ...@@ -12,6 +12,10 @@ GitLab uses two primary types of pagination: **offset** and **keyset**
(sometimes called cursor-based) pagination. (sometimes called cursor-based) pagination.
The GraphQL API mainly uses keyset pagination, falling back to offset pagination when needed. The GraphQL API mainly uses keyset pagination, falling back to offset pagination when needed.
### Performance considerations
See the [general pagination guidelines section](../database/pagination_guidelines.md) for more information.
### Offset pagination ### Offset pagination
This is the traditional, page-by-page pagination, that is most common, This is the traditional, page-by-page pagination, that is most common,
......
...@@ -426,6 +426,8 @@ Take into consideration the following when choosing a pagination strategy: ...@@ -426,6 +426,8 @@ Take into consideration the following when choosing a pagination strategy:
The database has to sort and iterate all previous items, and this operation usually The database has to sort and iterate all previous items, and this operation usually
can result in substantial load put on database. can result in substantial load put on database.
You can find useful tips related to pagination in the [pagination guidelines](database/pagination_guidelines.md).
## Badge counters ## Badge counters
Counters should always be truncated. It means that we don't want to present Counters should always be truncated. It means that we don't want to present
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment