美文网首页
Apex 小知识:SOQL 在循环中的应用

Apex 小知识:SOQL 在循环中的应用

作者: 程程哥 | 来源:发表于2019-06-14 15:07 被阅读0次

    两种在循环中引用 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 记录分块读取出来,放入列表变量。它的优点是每次从数据库中读取的数据量少,而缺点是需要和数据库(服务器)多次通信。

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

    相关文章

      网友评论

          本文标题:Apex 小知识:SOQL 在循环中的应用

          本文链接:https://www.haomeiwen.com/subject/nebphqtx.html