分页 crm 动态结果超过 5k "Requires PagingCookie"
paging crm dynamics results above 5k "Requires PagingCookie"
在采用参数 int pageNum 和 int pageSize 的方法中,我正在尝试 return 基于该特定页面和大小的动态数据。
我正在使用 QueryExpression 并设置了 exp.PageInfo 页码和页面大小来实现此目的,直到第 51 页页面大小为 100 时才正常工作,这会产生错误 "Paging cookie is required when trying to retrieve a set of records on any high pages"
这使我接近重复的问题领域(例如 Dynamics CRM - How to get the second page of a fetchXml query beyond the 5000 elements? ),但声明 "you do not need the paging cookie" 似乎根本不正确,对于超过 5k 的结果我无能为力不要产生那个错误。
我现在正在对整个结果集进行分页(这允许我从之前的结果中获取 PagingCookie 以传递给下一个页面请求),然后 return 从中获取我想要的数据设置,但那太慢了。我通过动态更改分页循环中的查询使其速度更快,因此如果当前数据在请求的页面范围内,它只有 returns 列,这已经减少了大约 30 秒的查询时间,但对于这样的大数据集。
那么,是否有 A) 一些东西可以让我在没有分页 cookie 的情况下获得这些高结果?例如,这是一个 QueryExpression 限制吗?或 B) 比迭代所有结果直到我想要的页面更快的处理这个问题的方法?
谢谢。
过滤数据集以减少 return 页数可能需要调查。或者,如果所需页面更接近数据集的末尾,则反转排序顺序。
遗憾的是,无法"fast forward"查询结果中的高页面。
您必须按照现在的方式使用分页 cookie。
如果您知道上一个查询的最后一条和下一条记录,您可以尝试创建一个高页面 cookie 作为开始。
正如@Aron 在他的回答中所建议的那样,唯一的改进可能是对数据进行排序 and/or filtering/partitioning(通过 createdon 等)。
在采用参数 int pageNum 和 int pageSize 的方法中,我正在尝试 return 基于该特定页面和大小的动态数据。
我正在使用 QueryExpression 并设置了 exp.PageInfo 页码和页面大小来实现此目的,直到第 51 页页面大小为 100 时才正常工作,这会产生错误 "Paging cookie is required when trying to retrieve a set of records on any high pages"
这使我接近重复的问题领域(例如 Dynamics CRM - How to get the second page of a fetchXml query beyond the 5000 elements? ),但声明 "you do not need the paging cookie" 似乎根本不正确,对于超过 5k 的结果我无能为力不要产生那个错误。
我现在正在对整个结果集进行分页(这允许我从之前的结果中获取 PagingCookie 以传递给下一个页面请求),然后 return 从中获取我想要的数据设置,但那太慢了。我通过动态更改分页循环中的查询使其速度更快,因此如果当前数据在请求的页面范围内,它只有 returns 列,这已经减少了大约 30 秒的查询时间,但对于这样的大数据集。
那么,是否有 A) 一些东西可以让我在没有分页 cookie 的情况下获得这些高结果?例如,这是一个 QueryExpression 限制吗?或 B) 比迭代所有结果直到我想要的页面更快的处理这个问题的方法?
谢谢。
过滤数据集以减少 return 页数可能需要调查。或者,如果所需页面更接近数据集的末尾,则反转排序顺序。
遗憾的是,无法"fast forward"查询结果中的高页面。
您必须按照现在的方式使用分页 cookie。
如果您知道上一个查询的最后一条和下一条记录,您可以尝试创建一个高页面 cookie 作为开始。
正如@Aron 在他的回答中所建议的那样,唯一的改进可能是对数据进行排序 and/or filtering/partitioning(通过 createdon 等)。