Salesforce Soql查询仅限于自定义对象中的前150行

时间:2015-05-08 14:54:48

标签: salesforce apex soql

我很困惑为什么针对自定义对象的SOQL查询只返回前150行应该返回到调控器限制(50,000)。有没有人知道为什么我的查询受到限制?

这是我的控制器方法:

@RemoteAction
public static List<Metro__c> getAllMetros(){
    String query = 'SELECT Id, Name, state__c FROM Metro__c ORDER BY Name';
    List<Metro__c> r = Database.query(query);
    System.debug('r='+r.size());
    return r;
}

当我看到调试时,我看到:

10:48:27:237 USER_DEBUG [54]|DEBUG|r=150

Metro__c对象中有数千条记录。任何有关这方面的见解将不胜感激。

2 个答案:

答案 0 :(得分:0)

这是我的问题。问题是我如何将数据导入Metro对象。我按照请求限制达到了150个SoQL查询,但我没有意识到对象中没有所有记录。更改记录的插入方式后,一切正常。

答案 1 :(得分:0)

这听起来你的批量大小为150.你可以通过

设置
connection.setQueryOptions(250);

执行query()函数时,您将获得250条记录,您需要使用queryMore()继续捕获下一批。

请查看Salesforce文档: https://www.salesforce.com/developer/docs/api/Content/sforce_api_calls_query.htm

http://www.salesforce.com/us/developer/docs/soql_sosl/index_Left.htm#StartTopic=Content/sforce_api_calls_soql_changing_batch_size.htm