[salesforce]ガバナ制限

By |10月 23, 2009|salesforce, |


Salesforceにはガバナ制限と言われる制約条件があります。Salesforceはマルチテナントでたくさんのユーザがサーバのリソースを共有しているので、自分の組織だけでそのリソースを食いつぶさないように多くの制約があります。ガバナ制限についてどこに書かれているかいつも忘れてしまうので、自分メモもかねて書いておきます。

http://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm#StartTopic=Content/apex_gov_limits.htm

これはAPEXリファレンス内のガバナ制限の記載ページです。他にも見るページあるのかもしれませんが、僕はいつもここを見てます。ちょくちょく数字が変わっているのでローカルに落としたりせずに常にここを見るのがおすすめです。

英語でいつも迷うので、自分メモをかねて現時点のガバナ制限表を日本語にしておきます。それぞれの値に補足事項もあったり情報が古くなる可能性があるので、正確な情報はリファレンスの方をみてください。

制約対象 トリガの場合 匿名ブロック、Visualforceコントローラ、WSDLメソッドの場合 Testコードの場合
SOQLクエリの発行可能総数 20 100 100
SOQLクエリで取得可能な総レコード数 1000 10000 500
SOSLクエリの発行総数 0 20 20
1SOSLクエリで取得可能な総レコード数 0 200 200
DMLステートメントの発酵可能総数 20 100 100
DMLステートメントで処理可能なレコード総数 100 10000 500
実行可能なAPEXクラスの総数?
詳細不明
10,000 200,000 20,000
総ヒープ領域(確認方法不明) 200,000バイト 2,000,000バイト 500,000バイト
トリガで再帰的に実行されるAPEXの深度 16 16 16
一つの文字列における文字数 100,000 100,000 500,000
Forループの繰り返し数? n/a 200 n/a
1List配列の格納できる要素数 1,000 1,000 1,000
1Set配列の格納できる要素数 1,000 1,000 1,000
1Map配列の格納できる要素数 1,000 1,000 1,000
トランザクションのSavepoint の総設置可能数 5 5 5
トランザクションのrollbackメソッドの実行可能数 20 20 20
Web serviceメソッドの実行可能数 10 10 10
1トランザクションにおけるcallouts 可能数。(HTTPリクエストかWebサービスコール) 10 10 10
HTTPリクエストかWebサービスコールの1コールアウトにおけるタイムアウト時間 60秒 60秒 60秒
HTTPリクエストかWebサービスコールの1トランザクション内における総リクエスト可能時間 120秒 120秒 120秒
1APEXスクリプトにおける@futureアノテーションのメソッド数 10 10 10
WSDL の最大サイズ 1MB 1MB 1MB
SOAPレスポンスの最大サイズ 1MB 1MB 1MB
runAs メソッドの実行可能数 20 20 20
sendEmail メソッドの実行可能数 10 10 10
ChildRelationship, RecordTypeInfo and PicklistEntryの数(詳細不明) 10 10 10
fields コールの実行可能数 10 10 10
findSimilar メソッドが返せるアイテム数 5 5 5
findSimilar メソッドの実行可能数 10 10 10

その他、以下の制限もあり。
# APEXクラス内の文字数: 100,000文字まで。
# APEXトリガ内の文字数: 32,000文字まで。
# 1組織内における全APEXスクリプトの総容量: 1 MBまで。