关于取所有Folder性能问题
目前我有一个文档库,里面大概有2000个文件夹,一万多个文件,目前我就想把文件夹的树形结构读出来,试了几种方式,性能都不是很理想,下面列下几种方式的性能消耗:
1.直接使用SubFolders属性进行递归 大概耗时10秒 这种方式是最直接但性能不敢恭维
2.使用SPQuery 筛选出所有的Folder的Item,再用linq 取出树形结构的数据 这种性能目前为止是最快的,2秒
3.使用SPQuery 筛选出所有的Folder的Item ,使用ContentItertor对SPListItemCollection,然后根据Item.Folder取得文件夹及其父目录的ID 性能比第一种好不了多少,大概8秒左右
目前就想到这3个方式,只有第2种最快,但随着后续文档库的内容增加,2秒可能会变成4秒了。
希望大家能给点好的建议,看能否有更优化的方案。