Using Filters in Queries to Minimize Row Count

DEX450 - Module 14: Trigger Design Strategy

📄 第 374 页 🎬 视频课程

课程章节介绍

让我们一步一步来理解如何在Salesforce中使用筛选器来减少查询返回的行数。 首先,想象一下你有一个触发器,这个触发器在数据库中的某些记录被更新或创建后运行。这些记录在触发器中被称作`Trigger.new`。我们的目标是只从数据库中获取那些我们真正需要的记录,而不是所有的记录。 ,动画1,:你可能会问,为什么触发器中的记录会出现在数据库中呢?这是因为我们使用的是“After”触发器,这意味着触发器在记录已经被保存到数据库之后运行。 ,动画2,:现在,让我们开始过滤这些记录。我们的第一步是只从数据库中获取那些在触发器中的候选人记录。 ,动画3,:这样做的好处是,我们可以立即减少查询结果中的记录数量,因为我们只关注那些与候选人相关的记录。 ,动画4,:接下来,我们进一步过滤,只获取那些已经通过认证的记录。 ,动画5,:这一步会进一步减少我们的查询结果,因为我们只保留那些既与候选人相关,又已经通过认证的记录。 ,动画6,:最后,我们只选择那些状态为“Complete/Pass”的记录。 ,动画7,:经过这三步过滤,我们得到了一组非常精确的记录,这些记录不仅与候选人相关,而且已经通过认证,并且状态是“Complete/Pass”。 ,动画8,:现在,让我们思考一下,为什么这条特定的记录会被检索到?因为它符合我们所有的筛选条件:它是候选人集合中的一部分,它已经通过认证,并且它的状态是“Complete/Pass”。 ,动画9,:总结一下,我们通过候选人、认证和状态这三个条件来筛选记录,这样可以确保我们只获取那些真正需要的记录。 ,动画10,:最后,为了更有效地管理这些数据,我们将在认证尝试对象上设置一个公式字段。这个公式字段将帮助我们理解每个认证尝试与哪个认证相关联,这样我们就可以更轻松地进行筛选和管理。 希望这能帮助你理解如何在Salesforce中使用筛选器来优化你的查询!