Salesforce.comではリリースごとにガバナ制限の緩和拡張に取り組んでおり、その性能は日々向上しています。
しかし一方で、「覚えるのが面倒くさい」との声を頂いて実現したのが今回「Governor1」となります。
Governor1を利用すると全ての制限が「1」となり、非常に覚えやすくなります。以下はGovernor1の制限値の一例です。
Governor1 | 同期時の 制限 |
非同期時の 制限 |
---|---|---|
発行される SOQL クエリの合計数 | 1 | 1 |
SOQL クエリによって取得されるレコードの合計数 | 1 | |
Database.getQueryLocator によって取得される レコードの合計数 |
1 | |
発行される SOSL クエリの合計数 | 1 | |
(以下略) |
Governor1はシンプルなApexコードとして提供されているので、以下より自由にご利用頂けます。
https://gist.github.com/9909259
呼び出しは任意の場所に以下を記述するだけです。
Governor1.check(true);
・・・エイプリルフールなのに特に壮大なネタを用意しているわけではないので軽いネタで申し訳ありません。
Governor制限とはマルチテナント環境において最適なパフォーマンスでシステムを稼働させるためのデザイン指針です。
サンプルコードではGovernor1.check()と引数なしで呼び出した場合、場所での使用量をLogに吐きます。Limitsクラスには、制限を事前にトラッキングして回避することが可能な様にメソッドが用意されていますので、ご利用下さい。