是否有一种有效的方法来分页SOQL查询的结果,而又不带回所有查询结果然后丢弃其中的大多数?
例如,我希望能够翻阅一次显示10条记录的完整联系人列表。我不需要按任何特定字段进行排序。
最佳答案
当前,我发现与合作伙伴API进行任何SOQL查询一起使用的最有效的解决方案是,持久存储从初始QueryResult和查询定位符返回的sObject,以防在当前结果之外请求页面。
这需要在Salesforce QueryResult之上提供一定程度的分页支持。
IE。当请求页面时,可能需要来自以下对象的sObject:
如果页面跨越两个(或多个)QueryResults,则需要使用所有必需的记录来创建一个人工的QueryResult。
2012年 Spring 发布的更新
似乎有新功能即将向SOQL添加OFFSET支持。例如。
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(一般可用性?)