Play Big with large lists and document libraries


Play Big with large lists and document libraries

What if the SharePoint list or library grew too big?

This is a very common question when you are designing the SharePoint solution. So in this article, I will try to explain how you can do that.

Impact of unhandled Large List

So, the problem first, What is the impact if it grew too large..??

Will we lose data ... ?? NO

Will, the data be deleted... ?? NO

Is data not safe.. ?? NO

What is the Threshold limit?

So what is the impact of a large list?? yes, Threshold is the cause The impact is that you will get the threshold error if your view contains records greater than 5000. When any list or library view returns records of more than 5000 it displays the threshold error. This is the hard-line limit a view can show up the number of records. So, there are multiple ways you can handle this error

Solution 1:

Switch to Modern View, as the latest the best and will be continuously improved. For modern Microsoft is continuously evolving and more enhancement will be there in the future.

Solution 2:

Before the list grew large, index the columns. Indexing is the way in which SharePoint behavior does not change even when it grew too large. This should be the first step if you sens the list or library you are working on can grow more than the Threshold limit i.e... 5000.

Column Types that can be indexed

  • Single line of text
  • Choice (single value)
  • Number
  • Currency
  • Date and Time
  • Yes/No
  • Lookup (Lookup)
  • Person or Group (single value) (Lookup)
  • Managed Metadata (Lookup)

Columns that cannot be indexed

  • Multiple lines of text
  • Choice (multi-valued)
  • Calculated
  • Hyperlink or Picture
  • Custom Columns
  • Person or Group (multi-valued) (Lookup)
  • External data
The point here to note is that columns need to be indexed before the list or library has reached

Automatic Indexing: This is something that Microsoft has implemented on the SharePoint online list and libraries, where it auto indexes the columns which it thinks will be useful to you, but it will not automatically create indexes for the list and libraries having the item count of more than 20,000.

Solution 3:

Try to break up the list into folders, as doing this will reset the counter of the limitation. Once you have the proper hierarchy, you will not cross the threshold limit.

Example: Let's have a scenario, Suppose there is a marketing campaign that generates say 100 documents weekly, so that comes out to be approx 5000 yearly. If the maximum columns are indexed and the folders are created yearly and then monthly and keep the documents monthly, then this model will work for years

So think of every list and library as a node and each node is having its own threshold limit. So if you create a folder within the list and library, it will be treated as a new node and resets the counter.

Solution 4:

Design the solution in a way that it stores up the documents/ items in different lists or libraries. In this case, you'll reset the threshold counter by changing the list or library. So you'll not reach out to the threshold limit. Now the question comes up how one will find the document or item in multiple lists and libraries. The simple answer is to make use of SharePoint search.


SharePoint capabilities have expanded a lot and it's just that we need to do the right architecture of how to save the information. So just keep few points in mind
  • Do not forget to analyze the most useful columns and get them indexed right from the start
  • Treat list or library or folder within the list and library as a node that has its own capabilities.
  • Folders within list and libraries count as items when calculating the threshold

Hope this article will help you understand how to manage large lists and libraries and design the solution as per the business needs.

Happy Solutioning...!!!


Popular posts from this blog

SharePoint Framework (SPFx) Tab Control (react)

SharePoint Image Gallery

SharePoint Framework (SPFx) : Cascade dropdown in webpart properties