Microsoft SharePoint 2013:Limitations and workarounds

From PlexHosted Knowledgebase
Jump to: navigation, search
Dedicated SharePoint Hosting Services at PlexHosted

Limitations and workarounds

While the count of list items comes close to maximum limitation, it can cause to the risk of performance degradation. Performance issues from a single list can prove to cause other widespread problems throughout SharePoint site. In case of working with large lists, it should to break up the list using a tool such as the content manager as the first option.


Software boundaries, limits, and thresholds

Microsoft has changed their recommendations into limits, boundaries, and thresholds categories:

  • Limits are generally recommended values that can be exceeded but should be discouraged.
  • Boundaries are those values that are hard limits that cannot be exceeded.
  • A threshold is a value that has been set within SharePoint, but can be altered to accommodate larger values.
Example

Default threshold for document’s file size is 250 MB when SharePoint is first configured. This value can be changed to accommodate larger sizes, but only to the boundary size of 2 GB. When approaching either the threshold or the boundary, special care should be taken to account for the added workload. In other case, SharePoint will have a degraded performance.

Common software boundaries, limits and thresholds for context in lists and libraries

Object Value Limit
List row size 8,000 bytes per row Boundary
File size 2 GB Boundary
Documents 30,000,000 per library Limit
Object Value Limit
Major versions 400,000 Limit
Minor versions 511 Boundary
Items 30,000,000 per list Limit
Row size limit 6 table rows internal to the database Limit
Bulk operations 100 items per bulk operation Limit
List view lookup threshold 8 join operations per query Threshold
List view threshold 5,000 Threshold
List view threshold for auditors and administrators 20,000 Threshold
Subsite 2,000 per site Threshold
Coauthoring for Office files 10 concurrent editors Threshold
Security scope 1,000 per list Threshold
Unique permissions limit 50,000 Boundary
List view size for auditors and administrators 20,000 Threshold
URL length 256 Threshold


Throttling

List throttling is an important factor to consider during the work with large lists in SharePoint. The default value for list view threshold is 5,000 items. The throttle will control the number of rows in a list or library that can be returned at any one time from SQL server. If a user tries to fetch more than 5,000 items, he will be warned that not all potentially retrievable items has been returned — only the first 5,000. This value can be altered, but users run a high risk of generating SQL server performance impact that may not only affect particular site performance, but also the SharePoint farm in general. The list view threshold for auditors and administrators is 20,000 items.

In case of a request query hits the throttle point, the machine running SQL server can potentially lock the table where it is pulling the information to ensure that all data is being properly correlated. Any other users in SharePoint who are trying to retrieve information from this same table will be locked out until that first query completes.

It is not advisable to override these limitations if you are running into problems with list threshold and list throttling. A better route is to alleviate the problem using alternative methods without modifying the established threshold or throttle.

Indexing columns

Site collection owners and administrators can use the "Indexing columns" method to increase speed of working with large lists in SharePoint. The main essence of the method is creating an index and leveraging that index appropriately via a view filter that greatly enhance the speed of returning large datasets.

It is possible to create an index of a specific column in a SharePoint list or library. The count of individual columns for each list or library is limited by 20 value. You must be careful with indexing columns. More resources will be used to maintain column with each new created index. It is possible to create 20 indexes to all 20 columns but it may cause larger problems.

When creating an index it is necessary to ensure that this index and associated filter will not return more than 5,000 results since the index is still subject to the list throttling limitation. While creating a view for a list filter and leveraging the index it is necessary to ensure that the first filter is based on the index. It is possible to create additional filters as needed, but only one index can be used in the filter. The filter with the OR operator will not leverage the index properly. If imposed, even a manual item limit set in options will not have the same effectiveness as an index column.

Please visit related topic to this theme “How to create an index on a list/library app”