zoukankan      html  css  js  c++  java
  • Apex 小知识: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 记录分块读取出来,放入列表变量。它的优点是每次从数据库中读取的数据量少,而缺点是需要和数据库(服务器)多次通信。

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

  • 相关阅读:
    标准函数头部注释
    排序
    #define _INTSIZEOF(n)
    并发编程资料
    memory model
    Ubuntu搜狗输入法的使用
    gprof
    xml_editor
    创建本地Ubuntu镜像
    设计模式9:建造者模式
  • 原文地址:https://www.cnblogs.com/chengcheng0148/p/soql_usage_comparison_in_apex.html
Copyright © 2011-2022 走看看