所以我有一个SP列表,其中包含大约10万个项目(凭证代码(。它们中的每一个都有状态(活动/使用(、值(10,20,30(组(正常、特殊(和代码(随机字母数字(列。每个列都有索引
我不能使用CAML来获取某个组和值的下一个活动代码,因为每个标准都会返回>5k个项目(列表视图阈值(。
那么,检索下一个代码的最有效方法是什么呢?随着列表的不断增长,使用SPListItemCollectionPosition加载所有项目实际上并不是一个选项。难道没有更好的方法吗?它应该适用于onprem,以及spOnline
谢谢
如果您的代码是一个渐进数字,在任何新输入的项目上都会增加,那么您有两个选项:
- 创建一个服务列表,您可以将其命名为CodeCounter,在这里您可以将最后创建的代码存储在一列中。在主列表中创建工作流,从项目创建开始。此工作流将从服务列表中读取上次创建的代码,然后将其更新为Code+1,并同时管理主列表中主代码的更新(可选(
- 使用事件处理程序(场解决方案,这里的查询肯定效果更好(