0

I have read dozens of articles on the topic of list view threshold. I am still not confident I know how to manage large lists or libraries.

Some of the better articles include:

Manage large lists and libraries (official docs)

Living Large with Large Lists and Large Libraries (open source article on microsoft.com)

Demystifying the SharePoint List Threshold (by ShareGate)

SharePoint Online List View Threshold (by Joanne C Klein)

How to deal with large document libraries in SharePoint Online (by SharePoint Maven)

I wish there was a simulator where you could enter the number of columns and their types, and how many items/files your list or library had and it would tell you whether you would hit list view threshold or not. There must be an explicit logic to this, but most articles, even the official ones, seem to conclude ‘it depends - it might happen’. And you can’t hang your hat on that. Microsoft’s suggested solution to remove all sorting, grouping, totals and only display 1 column in a view seems nonsensical.

What is one to tell their manager?

“Lists and libraries can handle up to 30,000,000 items, but you can only query for things that will result in less than 5,000 matches”?

Does that functionality therefore have any real value for data sets over 5,000 items?

My particular scenario is I have the following in SharePoint 2010 that I am wanting to move to SharePoint Online using Modern experience:

  • A ‘contract register’ list with 2,000+ items
  • A ‘contractors’ list with 2,000+ items
  • A ‘contract documents’ library with 8,000+ files

So all resources will have, or already have, over 5,000 items. And there are Lookup columns involved. Folder creation is turned off in the ‘contract documents’ library to keep everything neat and flat and easily discoverable. To keep the end user experience simple, implementing multiple libraries and lists to keep total item count down is not an option.

One thing I have not yet seen articulated in any articles I have read is whether the default ‘pagination’ that occurs in Modern lists and libraries, where only 30 records are shown at a time, means that we are ALWAYS requesting only 30 items/files at a time (whether loading a view or applying a filter or sort or group to a column), and therefore we will NEVER hit the 5,000 item view threshold (because only 30 items are being requested at a time - even as we continue scrolling down the page)?

It seems like that would be too good to be true, but I would really appreciate clarification on how the count of results returned by a view or when filtering a column is determined.

Is it:

  • the count of all matches in the database with no pagination applied? (i.e - possibly 5,001+)

or:

  • the count of matches with pagination applied? (i.e - 30)

Can I confidently implement the solution outlined above, and continue adding up to 30,000,000 items in each resource (because only 30 items will ever be returned at a time)?

If not, what is the alternative?

9
  • 1
    Which type of columns are you going to use in your view? If they're supported for indexing and you don't have too many then it seems like you shouldn't have any issues (unless you fire off a query that is outside of those indexes and hits the threshold). Commented Aug 8, 2022 at 14:49
  • 1
    My understanding is that yes, the row limit allows the query to work. The CAML section of this article does a fairly good job at explaining the confusing nature of the list view threshold: codeproject.com/Articles/1076854/… Commented Aug 8, 2022 at 15:17
  • 1
    Yes, row limit, returns only the first X number of list items from your query. The reason I linked the article, wasn't regarding the CAML itself but the explanation it gives about what queries and filters do or don't hit the list item threshold. It doesn't really matter which way you're making the query, the concept of what does or doesn't hit the limit are the same. Commented Aug 9, 2022 at 6:54
  • 1
    No, that's not the case. You will be able to load the list but if you viewing the list through a filtered view that returns over 5000 items even after filtering, then it will trigger the threshold. E.g. you create a view to show only documents after 2013 but there is more than 5000 documents created after 2013, thus triggering the threshold. Commented Aug 9, 2022 at 15:05
  • 1
    Let us continue this discussion in chat. Commented Aug 9, 2022 at 15:06

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.