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

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

  • 相关阅读:
    jmeter非GUI界面运行脚本
    jmeter函数助手
    jmeter远程压力测试
    linux无工具命令监控
    nmon定时任务
    nmon安装
    Charles抓包
    正交工具allpairs应用
    数据库常用架构和同步工作原理
    ARTS习惯(2)
  • 原文地址:https://www.cnblogs.com/chengcheng0148/p/soql_usage_comparison_in_apex.html
Copyright © 2011-2022 走看看