zoukankan      html  css  js  c++  java
  • 【转】【Salesfoece】两种在循环中引用 SOQL 的方法

    两种在循环中引用 SOQL 的方法

    第一种方法:

    List<Account> accounts = [SELECT Id FROM Account WHERE NumberOfEmployees > 300];
    for (Account acc : accounts) {
        // 具体逻辑
    }
    

    第二种方法:

    for (List<Account> accounts : [SELECT Id FROM Account WHERE NumberOfEmployees > 300]) {
        for (Account acc : accounts) {
            // 具体逻辑
        }
    }
    

    效果比较

    第一种方法是将所有记录先从数据库中读取出来,然后放入循环进行具体的逻辑。它只需要和数据库(服务器)进行一次通信,然后读取大量数据。

    第二种方法是将 SOQL 查询放在 for 循环中,for 循环的循环变量是一个列表,接下来对这个列表进行另一个 for 循环,执行具体的逻辑。外部的 for 循环在每一次循环时,会将 Account 记录分块读取出来,放入列表变量。它的优点是每次从数据库中读取的数据量少,而缺点是需要和数据库(服务器)多次通信。

    在实际开发的时候,我们需要根据具体的情况,使用不同的方法来读取数据,从而让执行效率最大化。

  • 相关阅读:
    GOOGLE's Olympics Symbols
    写在九月的第一篇
    有点沉重的topic:出国,考研,工作?
    放弃的选择
    面临选择
    中秋节快乐!
    我该做一些改变
    使用Docker搭建一个WordPress博客
    三层架构小示例
    SQL联合查询
  • 原文地址:https://www.cnblogs.com/zhuzhubaoya/p/14053953.html
Copyright © 2011-2022 走看看