是否有一种有效的方法来浏览SOQL查询的结果,而不会将所有查询结果恢复,然后丢弃大部分查询结果?
例如,我希望能够翻阅一次显示10条记录的完整联系人列表。我没有必要按任何特定领域排序。
答案 0 :(得分:8)
目前,我发现通过合作伙伴API处理任何SOQL查询的最有效解决方案是保留从初始QueryResult和查询定位器返回的sObjects,以便在当前结果之外请求页面。
这需要在Salesforce QueryResult之上提供一定级别的分页支持。
即。当请求页面时,可能需要sObjects:
如果页面跨越两个(或更多)QueryResults,则需要使用所有必需记录创建人工QueryResult。
2012年春季发布更新
看起来有新功能可以为SOQL添加OFFSET支持。 E.g。
SELECT Name FROM Merchandise__c WHERE Price__c > 5.0 ORDER BY Name LIMIT 50 OFFSET 100
请参阅Spring '12 Force.com Platform Release - OFFSET added to SOQL (Pilot)
2012年夏季发布更新
OFFSET is now GA(一般可用性?)
答案 1 :(得分:2)
您可以使用自动编号字段在服务器端进行分页。这个字段可以在'order by'子句之后使用,它可以作为索引字段。
我像你一样做了分页。但是我遇到了另一个问题,我不能同时在服务器端进行排序。因为排序和分页都需要在'order by'子句后添加列。