Predictive Indexing Overview
Predictive Indexing is a great way to deal with large lists and libraries. Common error messages received when dealing with larger lists and libraries include:
- “The number of items in this list exceeds the list view threshold.”
- “The number of items in this list exceeds the list view threshold, which is 5000 items. Tasks that cause excessive server load (such as those involving all list items) are currently prohibited.”
With SharePoint Server, we have seem many administrators simply applying a “band aide” by simply increasing the threshold limit via Central Administration at the expense of server resources and performance. As these administrators upgrade to SharePoint Online, they quickly realize that they need to break these habits and adhere to the best practices.
Solution
When querying lists and libraries, our goal is to ultimately return the desired results in “manageable” batches. This will ultimately prevent the Application from putting too much stress on the database server. There are several “best practices” that an administrator can adhere to when designing their list and libraries. According to the Microsoft documentation regarding how to Manage Large Lists and Libraries in SharePoint we are presented with the following options:
- Applying indexes and filters
- Using folders to structure content
- Archiving and deleting historic content
Limitations: Columns may only be indexed if the total item count does not exceed 20,000.
Predictive Indexing Settings
Predicative Analytics allows you to maximize the potential of your large lists and libraries. Automatically without intervention, SharePoint can recognize instances where a query may result in a large number of records getting returned and automatically apply indexes.
I often associate the use of an index to searching through a phone book. Each record in the phone book is sorted automatically by last name. When I want to search for “Smith” (Last Name), I am able to quickly jump to the location within the phone book without having to go through every page. If I wanted to search by Street Name, I would have to search though every record in the phone book until I find the record I am looking for. If I add an index for Street Number, now the results are sorted by Street Number and I can quickly jump to the records I am looking for.
Automatic Indexing can be enabled by navigating to: List Settings > Advanced Settings > Allow automatic management of indexes