Remove the list view threshold (5000 by default)
This limit has always been a bit laughable, and is even more so as we develop more client side applications. In SharePoint 2007 we didn't have this limit and were allowed to make our own mistakes. Now that hardware is so much more powerful, we need this limit removed so that we can build enterprise-class applications.
We are continuing to make our large list experiences better, please keep the feedback coming.
Spring 2018 update:
- We now support being able to manually add indexes to lists of any size (increased from lists up to 20,000 items previously).
- Starting with the February release of the Office 365 Excel client, you will be able to export your full list instead of getting cut off part of the way through.
What we are working on now:
- Predictive indexing will start to work for lists larger than 20,000 items so your views will automatically cause the right indexes to be added to your lists.
In our backlog:
- Being able to index/sort/filter by lookup column types (like person, lookup or managed metadata columns) without being throttled.
- Making sure that our REST APIs support querying in ways that will guarantee that the call will not be throttled.
For a general update on large list capabiltiies, the video on myignite.microsoft.com/videos/53861 (focusing on large lists at 42 minutes and 25 seconds) describes some of the changes that we delivered back in the second half of 2017:
- Modern UI now has a lot of support for adding indexes to large lists and libraries on the fly, reducing the number of throttling errors experienced by our users, and some new UI for browsing through items in large lists with our paging model
- SharePoint runs predictive indexing jobs to automatically add indexes as lists get larger based on your view definitions, and updates these indexes when you add/update your views
Looking forward to receiving more of your feedback.
Drew Kipfer commented
Thank you for all the effort you've put into improving the list experience thus far. Any further updates on when we can expect the 5,000 item query limit to be lifted?
Tom Burke commented
It seems like this isn't really an increase of the LVT, but indexing to try to work around it.
"Making sure that our REST APIs support querying in ways that will guarantee that the call will not be throttled." - This is possibly the most important point. We use K2 and are finding throttling issues with the API calls to SP lists. Not fun.
There are many cases reported in the web that users have added indexes to their lists, but when their lists reached the 5,000 threshold, end users received threshold limits erros. and when they checked with Microsoft about this issue, then got a reply that Microsoft cannot support indexes as they contain user data, and if items have been added/removed inside the list then the index can get corrupted.. So my question, is how we can verity if our indexes inside the lists are valid ? In other words if i have a list which contain 500 items and i added the indexes to it, then how i can verify if the current indexes are valid or not?
second point, there are incidents as in this link https://social.msdn.microsoft.com/Forums/office/en-US/600ab306-8aba-461c-92cf-10ea18dad288/list-view-which-is-filtering-items-based-on-an-indexed-column-and-which-will-return-2950-items?forum=sharepointdevelopment#7b1e37f2-fa2f-4ca0-8cd6-253dbacb1b7b where indexed on CreatedBy does not work,, so is Microsoft planning to fix these issues?
I noticed that there are several folks here that mentioned they have been able to add indexes to list even over the 5000 item threshold. I however get the "cant be done because over the limit" messaging. What I am missing and why cant this be completed?
SharePoint Online will never be an enterprise level Document Management Solution with these kind of ridiculous limitations. Latest one is if you have 5k+ documents and these documents have metadata field that is a lookup and you try to filter the documents by one of the items from the lookup, and the documents that have been tagged with the lookup value are very old, you wont see that lookup item in the filter. I can go on with whats wrong with Modern libraries and metadata data on SharePoint Online. To top it all off, because its a lookup, you can even do a "starts with search". A workaround is to have a background process that copies the value of the tagged item into a singlelinetext field and filter by that field. Its ridiculous because you have to have a background process that updates the singlelinetext field if the lookup value is changed/renamed. I might open a separate uservoice for the filter issue.
Good to see the changes here but it's still a nightmare working with larger lists. The task list is a perfect example.
So from extensive testing I can assure the following operations will cause a 5000 error response:
- Filtering on Lookup
- Filtering on User
- Filtering on Date
- Filtering using neq operation on ANY indexed field!
And there's more I'm missing from here. Regardless of the order of operations and the fact that you know one of the filter operations will return < 5000 items.
It's crazy that our code has to do operations explicitly stating batches of 5000 items in searches only using indexed columns.
The sooner Lookup filtering/indexing works the better the large list interaction gets.
Lisa J commented
PowerApps is basically unusable with large lists - I have a searchable drop-down, but supplying search criterion that will yield a result set under 5,000 items STILL throws an error.
Warren Anonymous commented
- Being able to index/sort/filter by lookup column types (like person, lookup or managed metadata columns) without being throttled."
I have to put in a ridiculous workaround for a client, we copy the values in these columns to singleline text on a scheduled powerShell script. Come on, fix this. I Want to drop this dependancy.
Mike LaPointe commented
This seems like lazy programming. They set a threshold and no matter what is accessing the list if that threshold is breached every call just returns the default response "The attempted operation is prohibited because it exceeds the list view threshold enforced by the administrator." That's pretty lazy. If SharePoint designer is getting information on a form that lives in the list then it shouldn't be getting this message. That's not going to be a burden on the performance of the site to get meta data on a single aspx form. Designer makes a call to _vti_bin/_vti_aut/author.dll and you get "The attempted operation is prohibited because it exceeds the list view threshold enforced by the administrator.". Is the instruction from Microsoft's end that if you make your own forms make sure you don't use them very much? I don't recall seeing this in the documentation or articles. https://social.technet.microsoft.com/wiki/contents/articles/23955.sharepoint-2013-building-custom-forms.aspx this doesn't mention "oh btw none of this works if you have more than 5,000 items in your list.
Robert Woods commented
Would the updates you commented on in "Working on it" fix the issues with Dynamics CRM failing to load list grid views when more than 5000 items are in the list?
Joost van der Linden commented
Fully agree with the last comment. This is necessary, definitely if organizations will start working with Microsoft Teams, and solely depend on 1 document library.
"In our backlog:
- Being able to index/sort/filter by lookup column types (like person, lookup or managed metadata columns) without being throttled." - really?! Still in backlog, come on, this should be front and center for release. How can SharePoint Online ever compete as a half decent DMS if large lists are not properly supported.
This is really making the Products unusable. How can we tell the clients, you have to have dozens of filters/views in place or you have to use traditional folders just in order to put your millions of records in.
Any update on this? I am exhausted making scores of libraries like: Events 2018 A-C, Events 2018 D-E, Events 2018 F-G when all I want is Events 2018. Thanks.
Jennifer Myers commented
The 5,000 threshold is destroying any usability of large lists/libraries. We've used folders when we can - but that's just not an option all the time. The most recent issue we've discovered is with the Find a File/Item box on a list/library over 5,000 items. It doesn't return all the expected results! https://techcommunity.microsoft.com/t5/SharePoint-Support-Blog/Overview-of-Classic-List-and-Library-search/ba-p/255233 Then what's the point?? You've made a really big bucket to put stuff in but with arms too short to get anything from near the bottom. This is completely unacceptable.
This needs to be desperately addressed as a matter of priority. Throttling should not exist at all.
Just profiling the SQL calls in order to return a single item is woefully sad. Throttle the speed of the services not the count if its so bad as its made out to be.
Business I work with have lightening hardware supporting SQL service and were able to safely increase the limit to 500,000. Not a chance they will consider SPO until such a critical bottleneck is lifted.
We have so many places with custom client side and full trust code that we have increased the threshold and now during the migration it's really creating the issue. Specially with Calendar we do not have any workaround like creating folder etc. This limitation should be flexible and let the admin decide which limit to use. This is blocker for immigration.
Zoe Stoddart commented
My organisation has already run into this issue after just a year of regular use in our project library. Having to separate them out into separate libraries really diminishes the functionality so increasing this threshold would help, as currently feeling penalised for moving over to SharePoint as a result.
In the meantime - "Being able to index/sort/filter by lookup column types (like person, lookup or managed metadata columns) without being throttled." would also be great as that's currently frustrating so am pleased that's in your backlog.
Can you let me know when it will be fixed, this 5k limit really pain for organisation. You guys should provide some kind of pagination.
Can't export a filtered view (even if all the columns are indexed) to excel. Also can't create or update calculated columns. These types of issues is making our migration from on prem very frustrating for both me and our users!