课程章节介绍
同学们,我们来看一个小但非常实用的性能优化技巧。
在写SOQL或者SOSL查询的时候,你可能会想:“我只是想查有值的记录,那些空着的字段我就不看了。” 这个想法其实非常棒,而且Salesforce的查询引擎也特别希望你这么做。
为什么要主动过滤掉空值呢?很简单,当你加一个条件,比如 `WHERE Field__c != null`,你就相当于告诉数据库:“请帮我把这个字段是空的记录全部跳过。”
这样一来,查询引擎需要扫描和计算的行数就大大减少了。它不用再费劲去处理那些你根本不关心的空记录,查询速度自然就提上来了。
这个优化,在两种场景下尤其重要。一种是你的对象里已经有海量数据,也就是所谓的大型对象查询;另一种是在触发器里。因为触发器是在用户操作过程中同步执行的,查询快慢直接决定了用户界面的响应速度,所以能快一点是一点。
记住一个简单的原则:如果你的业务逻辑里,结果中不需要那些空值,那就一定要在查询里明确过滤掉它们。用 `!= null` 或者 `<> null` 把空记录挡在外面,既能提升性能,又能让代码意图更清晰。
好了,这个小技巧就讲到这里,下一节我们继续。
关键词
Apex
Salesforce
Developer Guide