28 June 2012

Lists Throttling in SharePoint 2010

In this article I am showing you a new feature in SharePoint 2010 called throttling. 

In SharePoint 2007 the maximum number of items that could be returned by a list view was approximately 2000 items and any query over this limit would result in low performance and increased load on the server. But SharePoint P2010 list is now capable of handling a very large amount of data. But most of the time we don't want to return all of the data in a single query.  To aid with this, SP2010 introduces list throttling settings that allow us to specify how many items a user can query before the throttle kicks in and aborts the query. This applies to both the queries that retrieve through SharePoint UI and from custom code. List throttling enables display of an error message.

SharePoint 2010 provides Administrators to control a limit of how many items to be retrieved from the lists at a time using User Interface or Object Model. We can override it by calling RequestThrottleOverride on the SPQuery object. This will allow us to execute large unsafe queries.

You can find the setting in the Central Administration under the General Setting of a Web Application.
  1. Open your SharePoint Central Administration

    1.gif
  2. Click on Manage web applications
  3. There you can see the list of your web applications
  4. Select your web application as shown below
  5. From general settings select Resource Throttling

    2.gif
  6. You will get a popup as shown below; you can change the settings if you want

    3.gif 
List View Threshold: The number of results that can be returned in a user query if this exceeds the limit set by the administrator it will throw an exception.

List View Threshold for Auditors and Administrators: The number of results that can be returned for an Auditors and Administrators. It will be somewhat high for them.

List View Lookup Threshold: Lot of lookup in a list also decreases the list performance. So this is the maximum no of lookups that a list can have. 

Object Model Override: This will allow the developers to override the property and ignore the throttling. I already mentioned the same on second paragraph of this article.

Daily Time Window for Large Queries: This will allow the application to query the Large SharePoint 2010 List during the time set by the administrator.