我必须用超过 20 万个项目更新 SharePoint 中的项目。我最初的想法是使用下面的 Powershell 脚本
$resultItems = $list.GetItems(SPQUERY_OBJECT)
foreach($item in $resultItems)
{
$item["Collect"] = "Yes"
$item.Update()
}
由于我正在处理一个非常庞大的列表,有没有办法可以优化此代码以获得更好的性能。
谢谢
我必须用超过 20 万个项目更新 SharePoint 中的项目。我最初的想法是使用下面的 Powershell 脚本
$resultItems = $list.GetItems(SPQUERY_OBJECT)
foreach($item in $resultItems)
{
$item["Collect"] = "Yes"
$item.Update()
}
由于我正在处理一个非常庞大的列表,有没有办法可以优化此代码以获得更好的性能。
谢谢
我建议使用分页概念,特别是结合查询对象的 RowLimit 和 ListItemCollectionPosition 属性。您可以在以下链接上找到它如何在 c# 上工作(不是 PowerShell 示例,但在 PowerShell 上复制它应该很简单)
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spquery.listitemcollectionposition.aspx