Apex Limitsクラスの使い方のサンプル

環境
Salesforce

概要
Limitsクラスを使用するとDMLの実行数やSOQLクエリの実行数などを調べて、ガバナ制限を確認することができます。

使用例1
DMLの実行回数を確認する
サンプルコード

System.debug(Limits.getDMLStatements());
System.debug(Limits.getLimitDMLStatements());

System.debug(Limits.getDMLStatements() + '/' + Limits.getLimitDMLStatements());

結果
DEBUG|0
DEBUG|150
DEBUG|0/150

使用例2
DMLの実行回数とそれによる操作したレコード数を確認します。

// DMLで取引先を作成
        Account acc1 = new Account(Name = 'arkgame');
        Account acc2 = new Account(Name = 'com');
        List<Account> accList = new List<Account>();
        accList.add(acc1);
        insert accList;
        
        // DMLの実行回数確認
        System.debug('getDMLStatements / getLimitDMLStatements = ' + Limits.getDMLStatements() + '/' + Limits.getLimitDMLStatements());
        
        // DMLで操作されたレコード数の確認
        System.debug('getDMLRows / getLimitDMLRows = ' + Limits.getDMLRows() + '/' + Limits.getLimitDMLRows());

結果:DMLを1回発行と1レコードを操作しているので、それぞれ1回ずつの結果になります。

Apex

Posted by arkgame