Among the many rumors on the SharePoint platform, this must be one of the most widely circulated rumors: do not store more than 2000 files in a document library (which corresponds to a list and can be described as: do not hold more than 2000 list items in a list).
OK, here are some information for your reference:
1, there is no real hard limit, so users can actually store more than 2000 files in a document library. A document library (list) that has subfolders can hold 5 million files (list items).
2. The best practice offered by Microsoft is that if you store more than 2000 files (list items) in a single folder, the performance of the folder load will decrease linearly as the number of files increases. Microsoft has done a lot of testing on a variety of usage scenarios, please refer to the white paper "Working with Large Lists in Office SharePoint Server 2007."
3, according to the 2nd, if you use SharePoint built-in List view to show the document library (list), it is best not to store too many files under a folder, but I personally think this is a very conservative number, in fact, if your system hardware is not particularly poor, You'll find that even if you store more than 2000 files in one folder, you won't feel too much performance degradation. Of course, if possible, it's best to create a hierarchical folder in a document library, and then you can store files (list items) that are far more than 2000 in a document library (list). So for this number, my advice is to do an evaluation test in your actual system and get a more realistic result, so you'll be more confident. Any plan to test out of evaluation is unconvincing.
4, if you use a custom interface to display the document library (list) data, then the correct use of paging queries in the code, you should be able to store a lot of list items directly in the list (even in a folder), but not too affected by performance.
5, even if you use the paging query correctly in your code, as you said in article 4th, consider that because all of the data in a document library is stored in a Web site, and a site is in a site collection, a site collection can only use one SQL Server database, Instead of splitting its content into multiple database repositories. This means that if a site collection contains too many files, its database will become extremely large. You might want to think about how big the database will eventually become, how much disk space it will take, and what impact it will have on SQL Server ... Refer to this article for disk capacity planning. If you want to store a large number of files, consider introducing EBS or RBS.
6. Although SharePoint provides a list, it does not mean that we should always use lists to replace database table, each with its own benefits. The list provides a built-in input, editing, and presentation interface, and we can easily add things like event handlers, workflows, and so on to the list data. But if your data doesn't need these things, and most of the interfaces need to be customized, why not use database table directly?
7, if possible, the document library (list) of the data partition storage. For example, if you have a form library that holds a "expense claim sheet," consider automatically moving a form that was submitted 3 months ago and has been approved to a different folder (or another form library), and the root folder of the form library always holds the form for the last 3 months. Automatic archiving of data can be accomplished by using SharePoint's built-in expiration management policies or by using custom code.
8, if it is a SharePoint 2010 system, then about the Mass document library (list), a list of more than one throttling function. I will write another blog devoted to list throttling.
Finally, on this rumor, the conclusion should be: plausible. :)
See more highlights of this column: http://www.bianceng.cnhttp://www.bianceng.cn/web/sharepoint/