如何在 Salesforce 组织中缓存大型 SOQL 查询。为了快速 returns?

How to keep large SOQL query cached in Salesforce Org. for speedy returns?

我们遇到了一个问题,我们需要人们的事件关系,并且在我们正在测试的这一周内有将近 400 个事件关系的这一大群人遇到了问题......当试图抓住这个大型团体的事件关系,这将花费很长时间,而且可能会超时。但是,如果您在超时后立即重试,它会在几秒钟内完成并且很棒。我在想这是 salesforce 只是 chaching soql query/information 所以它第二次可以非常迅速地行动。我试图通过定期 运行 查询每个成员事件关系的批处理作业来缓存并准备好此查询,这样当他们尝试访问我们的应用程序时,超时问题就会停止。

然而,这似乎没有用。即使批处理 运行ning 正确并查询所有这些事件关系,当您在一段时间后不使用它时转到应用程序时,它仍然会超时或第一次花费很长时间然后之后很快。

有没有一种方法可以成功地保留此缓存,以便在用户尝试查看一大群人的所有事件关系时,它会 运行 非常快?通过开发人员控制台,我们看到事件关系查询是代码中的大量时间消耗,也是真正的问题。我一直在研究 salesforce 的平台缓存。将这些数据存储在那里会提供我正在寻找的解决方案吗?

您应该考虑通过在 where 原因中使用索引和自定义索引(如有必要)来更新您的查询以使其具有选择性。