Sharepoint 2010 从SharePoint 2010列表中获取大量(500000)记录时出现服务器超时问题

Sharepoint 2010 从SharePoint 2010列表中获取大量(500000)记录时出现服务器超时问题,sharepoint-2010,Sharepoint 2010,我在工作,我想从当前的spweb获取500000个“公告”列表项。我有一个服务器超时问题,下面给出了代码 SPList list = web.Lists["Announcements"]; SPQuery query= new SPQuery(); query.Query = "<Where><And><Geq><FieldRef Name=\"ID\" /><Value Type=\"Counter\"> 1</Value>

我在工作,我想从当前的spweb获取500000个“公告”列表项。我有一个服务器超时问题,下面给出了代码

SPList list = web.Lists["Announcements"];
SPQuery query= new SPQuery();
query.Query = "<Where><And><Geq><FieldRef Name=\"ID\" /><Value Type=\"Counter\"> 1</Value></Geq><Leq><FieldRef Name=\"ID\" /><Value Type=\"Counter\">500000 </Value></Leq></And></Where>";
query.RowLimit = 500000;
SPListItemCollection items = list.GetItems(query);
DataTable dt = items.GetDataTable(); //Here I get the timeout error.
SPList list=web.list[“公告”];
SPQuery query=新建SPQuery();
query.query=“1500000”;
query.RowLimit=500000;
SPListItemCollection items=list.GetItems(查询);
DataTable dt=items.GetDataTable()//这里我得到了超时错误。

如何解决此问题?

SharePoint的最佳实践明确指出,视图中的行数不应超过2000行

最佳实践还指出,以编程方式提取列表项一次应限制在10000行左右

下面是一篇帮助设置列表合理限制的好文章: