我正在检索包含大约4000个项目的列表中的所有项目。
但似乎需要更长的时间才能获取约15至22秒的所有项目。
有没有最好的方法在可忽略的时间内从列表中获取所有项目?
以下是我用于获取所有项目的代码:
using (SPSite spSite = new SPSite(site))
{
using (SPWeb web = spSite.OpenWeb())
{
list = web.Lists["ListName"];
SPQuery query1 = new SPQuery();
string query = "<View>";
query += "<ViewFields>";
query += "<FieldRef Name='ID' />";
query += "<FieldRef Name='Title' />";
query += "</ViewFields>";
query += "<Query>";
query += "<Where>";
query += "<Eq>";
query += "<FieldRef Name='ColName'></FieldRef>";
query += "<Value Type='Boolean'>1</Value>";
query += "</Eq>";
query += "</Where>";
query += "</Query>";
query += "</View>";
query1.Query = query;
SPListItemCollection listItems = list.GetItems(query1);
}
}
答案 0 :(得分:0)
通常情况下,当你花费这么长时间来检索你正在达到边界或限制的物品时。
首先你需要测试你的查询限制,所以你返回少于2000个项目,或直到你发现它开始变得难以置信地慢。
然后你需要看看你是否可以破解你的查询,或者根据这个数字做多个查询来获取你的项目。
干杯
Truez
答案 1 :(得分:0)
一次拍摄许多物品肯定不是最佳做法或建议方式。
您必须研究其他选项,例如