Salesforce 访问SOQL中的大量记录

Salesforce 访问SOQL中的大量记录,salesforce,Salesforce,在salesforce中,我有一个自定义对象,将来该对象中可能有数百万条记录。我正在使用apex和visualforce开发一个仪表板,因此我需要在一次查询中访问所有记录。 查询为:[按状态从custom\u case\u C group by status\u C中选择countcustom\u cases\u C、status\u C] 因此,它一次访问所有记录,并超出了管理者的限制 我能做些什么来实现这一点 请向我提供解决方案,如果可能,请提供一个示例,因为我是salesforce的新手。

在salesforce中,我有一个自定义对象,将来该对象中可能有数百万条记录。我正在使用apex和visualforce开发一个仪表板,因此我需要在一次查询中访问所有记录。 查询为:[按状态从custom\u case\u C group by status\u C中选择countcustom\u cases\u C、status\u C]

因此,它一次访问所有记录,并超出了管理者的限制

我能做些什么来实现这一点


请向我提供解决方案,如果可能,请提供一个示例,因为我是salesforce的新手。

很遗憾salesforce将聚合函数计算为聚合行数,而不是一个结果。这意味着,如果您有50000个以上的结果,那么您将得到一个错误SOBject query row extered,在这一行中

有一个投票站,请投票


目前我为您看到的唯一可行的解决方案是,我自己使用的解决方案是运行程序和计划,并将结果保存在新的自定义对象中。然后将该自定义对象用作仪表板的源

令人遗憾的是,salesforce将聚合函数计算为聚合的行数,而不是1个结果。这意味着,如果您有50000个以上的结果,那么您将得到一个错误SOBject query row extered,在这一行中

有一个投票站,请投票


目前我为您看到的唯一可行的解决方案是,我自己使用的解决方案是运行程序和计划,并将结果保存在新的自定义对象中。然后将该自定义对象用作仪表板的源

您可以在只读模式下运行页面。这方面也有一些限制。您可能需要查看以下链接:


您可以在只读模式下运行页面。这方面也有一些限制。您可能需要查看以下链接:


我认为这个想法永远不会得到实施。50000个结果是一个计算限制,检索记录与聚合记录几乎是同一个问题。如果他已经将记录存储在一个对象中,为什么要将记录存储在另一个自定义对象中??这会有什么不同?因为您希望汇总的数据存储在另一个sobject中,或者存储在当前对象的字段中。但问题是,一旦您尝试查询超过50k条记录,您将得到一个异常,无论您是只是查询它们以在列表中使用,还是尝试聚合它们。如果你使用批处理作业,你可以绕过限制。我认为他想要显示一个报告/仪表板。因此,如果他使用一个批处理类,他可能没有可用的最新结果,因为您不知道批处理类将在何时执行。我想显示一个仪表板,该仪表板将从自定义对象读取数据,在对从该自定义对象获取的数据进行一些计算后,我想在使用VF页面开发的仪表板上显示该结果。我需要在一个页面上显示10-12个组件,对于每个组件,我需要查询相同的对象,但使用不同的查询和不同的聚合函数。那么,有没有什么解决方案,比如说,我只对一百万条记录进行一次查询,然后进行一些显示各种组件的计算。我认为这个想法永远不会实现。50000个结果是一个计算限制,检索记录与聚合记录几乎是同一个问题。如果他已经将记录存储在一个对象中,为什么要将记录存储在另一个自定义对象中??这会有什么不同?因为您希望汇总的数据存储在另一个sobject中,或者存储在当前对象的字段中。但问题是,一旦您尝试查询超过50k条记录,您将得到一个异常,无论您是只是查询它们以在列表中使用,还是尝试聚合它们。如果你使用批处理作业,你可以绕过限制。我认为他想要显示一个报告/仪表板。因此,如果他使用一个批处理类,他可能没有可用的最新结果,因为您不知道批处理类将在何时执行。我想显示一个仪表板,该仪表板将从自定义对象读取数据,在对从该自定义对象获取的数据进行一些计算后,我想在使用VF页面开发的仪表板上显示该结果。我需要在一个页面上显示10-12个组件,对于每个组件,我需要查询相同的对象,但使用不同的查询和不同的聚合函数。那么,有没有解决方案,比如我只对100万条记录发出一次查询,然后进行一些显示各种组件的计算。