【开源工具】按时间批量删除SPList数据

开发背景:

某部门数据的积累导致列表打开变慢,大概10秒左右。正常的解决方案为设置列表视图筛选,或者直接在数据库中删除或假删除数据。

软件界面:

【开源工具】按时间批量删除SPList数据

关键代码:

 1 using (SPWeb web = new SPSite("http://avv/yixiaozi/").OpenWeb())
 2                 {
 3                     SPList list = web.GetList("http://avv/yixiaozi/Lists/aaa/");
 4                     web.AllowUnsafeUpdates = true;
 5                     SPQuery query = new SPQuery();
 6                     query.Query = @"<Where>
 7                                   <Lt>
 8                                      <FieldRef Name='Created' />
 9                                      <Value Type='DateTime'>" + "2015-04-07T00:00:00Z" + @"</Value>
10                                   </Lt>
11                                </Where>";
12 
13                     SPListItemCollection itemColl = list.GetItems(query);
14                     DateTime time = DateTime.Now;
15                     for (int i = itemColl.Count - 1; i >= 0; i--)
16                     {
17                         itemColl[i].Delete();
18                         Console.WriteLine(i.ToString());
19                         
20                     }
21                     Console.WriteLine(((TimeSpan)(DateTime.Now - time)).Seconds.ToString());
22                     Console.ReadKey();
23                 }

软件源码:

http://files.cnblogs.com/files/yixiaozi/ListRuduction.rar

http://files.cnblogs.com/files/yixiaozi/ADDData.rar(测试用户添加程序)

现在发现通过对象模型删数据太没有效率了,有一种更好的解决方案。

http://blog.csdn.net/chadcao/article/details/5987901