SOQL for ループ
「SOQL for ループ」というものがあるらしい。
ガバナ制限の1つの、ヒープサイズ制限を回避する為の手段。
SoqlForLoop.cls
String s = 'Acme';
for (Account a : [SELECT Id, Name FROM Account WHERE Name LIKE :(s+'%')]) {
// 200件ずつ処理してくれる
}
数万件分のレコードを変数で持つと、ヒープサイズに抵触しちゃうみたい。
バッチみたいな動きをする同期処理ってこと?
200件超えのデータを扱う際に、バッチ書くほどでもないか~って時に使うのかな。
実際に使えそうな場面がきたら試してみよう。