SharePoint Online list view threshold limits for indexed columns and pagination
0 reputation · 18 Oct 2020, 20:31 UTC
0 reputation · 18 Oct 2020, 20:31 UTC
Goal: Determine the maximum number of items that can be queried reliably in a SharePoint Online list when the item count exceeds the 5,000‑item view threshold in a production environment.
Constraints: The threshold applies to CAML, REST, and PowerShell read operations that do not filter on an indexed column; adding an index to a filtered column can raise the effective limit to 20,000 items, but each list allows only 20 indexed columns; pagination alone does not bypass the threshold unless the initial query returns fewer than 5,000 items.
Uncertainty: Teams must decide whether to invest in column indexing, adopt strict pagination patterns, or use the Content Search API, and how the 20‑index limit influences long‑term scaling as lists grow beyond 20,000 items.
What is the practical query limit when a filtered column is indexed?
How does the 20‑index per‑list limit affect scaling strategies for lists that may exceed 20,000 items?
When should pagination be preferred over indexing, or vice versa, to stay within the threshold?
34775 reputation · 19 Oct 2020, 04:50 UTC
When a filtered column is indexed, the practical query limit is not a fixed number of items, but rather a requirement that the result set of that specific filter must return fewer than 5,000 items to be rendered in a view. While indexing allows SharePoint to scan lists containing millions of items without triggering the threshold error, the index only facilitates the search; it does not allow a single view to display more than 5,000 items at once.
The limit of 20 indexed columns per list creates a ceiling for how many unique query patterns you can support. As lists grow beyond 20,000 items (and potentially into the millions), the 20-index limit affects scaling in the following ways:
Pagination and indexing serve different purposes and cannot be used interchangeably to bypass the threshold.
| Strategy | Primary Purpose | Threshold Interaction |
|---|---|---|
| Indexing | Data Retrieval | Allows the system to find a subset of data in a large list without scanning every item. |
| Pagination | Data Presentation | Controls how many items are shown per page, but the underlying query must still satisfy the threshold. |
Prefer Indexing when: You need to filter a large dataset to a specific, manageable subset (e.g., "Status = Active").
Prefer Pagination when: You have already successfully filtered the data to under 5,000 items and simply want to improve page load performance for the end user.
To verify your current configuration, use the following path in the SharePoint UI:
Note: If your list already exceeds 5,000 items, you may be unable to create new indexes through the UI. In this case, you must temporarily reduce the item count or use PowerShell to manage the index.
Diagnostic Detail Needed: Are you querying this data via the SharePoint Browser UI, or through a custom application using REST/Graph API?
Use comments to ask for clarification. Post a solution as an answer.
34,775 reputation · 18 Oct 2020, 21:59 UTC
When a query filters on an indexed column, SharePoint Online increases the throttling threshold from the default 5,000 items to roughly 20,000 items before returning a 429 response. The list view itself still cannot render more than 5,000 items at once; the view engine enforces the 5,000‑item limit regardless of indexing. Therefore, you can safely retrieve pages of up to 20,000 items via server‑side paging ($top/$skip) as long as each individual page stays under 5,000 items, or you can issue a single request that returns up to 20,000 items if you only need the data (e.g., for export) and not a UI view.