如何计算超过50K记录的SOQL中的唯一电子邮件数量?

时间:2013-11-28 11:36:16

标签: count salesforce soql

我们的Salesforce应用程序中有电子邮件列表构建器。用户为Contact sObject指定过滤条件,构建器生成SOQL查询,然后该查询将用于通过API通过外部服务提取唯一的电子邮件。在用户通过外部服务启动电子邮件营销活动之前,需要在Salesforce UI中显示唯一电子邮件的数量。

1 个答案:

答案 0 :(得分:1)

您可以使用@ReadOnly批注来增加查询的限制。这在此处记录 - http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_annotation_ReadOnly.htm。这样做的缺点是你不能执行任何DML操作,它必须用于注释Web服务或可调度实现。

您还可以使用database.query(query)在运行时创建查询(http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_System_Database_query.htm),如下所示(未经测试):

AggregateResult results = database.query('SELECT COUNT(id) count FROM sObject');
Integer count = results.get('result');