【Salesforce】SOQLで50,000件を超えるレコードを取得する
Salesforceで大量のレコードを扱う処理がある場合に、50,000件を超えるレコードを取得するとエラーが発生します。
SOQLで集計を行っても、対象のレコードが上限を超えるとエラーが発生します。
Visualforce側と合わせて処理を分割することで解決することもありますが、それもできない場合があります。
そのようなときは、メソッドにReadOnlyアノテーションを付与したり、VisualforceのpageタグにReadOnlyを設定することで取得するレコード数が増えるようです。
レコードの取得件数が増えますが、DMLが使用できなくなります。
しかし、レコードを保存せずに集計して表示を行うだけの場合は有効ですね。
帳票なんかでも活用することが出来そうです。
ちなみに、レコードの取得件数だけでなく、VisualforceのrepeatやDataTableで表示可能な件数も増えるそうです。
1000件を超えるレコードでrepeatするとエラーが出ますから、こちらも嬉しい機能ですね。
No comments.