我想使用 Salesforce 的批量 API 来运行这种格式的查询。
Select Id from Object where field='<value>'.
我有数千个这样的字段值,并且想检索这些对象的 ID。 AFAIK,Salesforce 的批量查询仅支持一个 SOQL 语句作为输入。
一个选项可能是形成一个查询
Select Id,field where field in (<all field values>)
但问题是 SOQL 有 10000 个字符的限制。
这里有什么建议吗?
谢谢
最佳答案
您似乎正在尝试执行某种搜索查询。如果是这样,您可能会考虑使用 SOSL查询而不是 SOQL,只要您搜索的字段由 SFDC 索引即可。
否则,我同意 Born2BeMild。您的第二种方法更好,将您的值列表分成批处理将有助于绕过限制。
如果您更详细地描述了一些用例,也会有所帮助。通常,对一组动态字段和值的查询并不总是产生最佳性能,即使使用批量 api 也是如此。您几乎最好将数据下载到本地数据库并以这种方式探索数据。
关于java - 如何在 Salesforce 中使用带有 WHERE 子句的批量 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11513915/