3
votes

In SharePoint 2010, we have the List View Threshold, which defaults to 5,000, and:

Specifies the maximum number of list or library items that a database operation, such as a query, can process at the same time outside the daily time window set by the administrator during which queries are unrestricted.

So, I'm looking to determine the options for querying a document library that will have more items than the threshold limit.

Ignoring the 'unrestricted' dailty time window, will the threshold be triggered under the following scenarios on a document library with more than 5,000 items?

  1. Using CAML Queries in Content Query WebParts on indexed columns, non-paged results (Answer: Yes)
  2. Using CAML Queries in Content Query WebParts on indexed columns, paged results, 100 per page (Answer: If using ContentIterator, No. Otherwise, Yes/Maybe (depending on retrieval method))
  3. Using the Search API on indexed or non-index columns (Answer: No)
1

1 Answers

4
votes

I have not found good documentation which has "finite list" of operations that triggers the threshold limit. But this blog post is good: http://blogs.technet.com/b/speschka/archive/2009/10/27/working-with-large-lists-in-sharepoint-2010-list-throttling.aspx

But I would consider increasing threshold limits via Central Administration because if your have list/document library exceeding the threshold, unusual things starts occuring. For example, you may be blocked from doing this operation because accessing that many items could adversely affect other users of the site.

As far as No 3. is concerned - I would say "NO" because the search API does not query the list directly but it looks into its own index and there is no practical limit on that!

Another very useful resource: http://office.microsoft.com/en-us/sharepoint-foundation-help/manage-lists-and-libraries-with-many-items-HA010377496.aspx#_Toc264017710

It is always advised to use ContentIterator which provides methods to iterate list items, lists, sites to regulate the amount of data that is transferred (i.e., to avoid throwing a SPQueryThrottledException). Also, this training video will help you a lot in answering some of your questions: http://msdn.microsoft.com/en-us/sharepoint/ff420380.aspx#lesson2