RecordSet大量更新の高速化

RecordSetを大量更新する際、更新毎に更新イベントが発生します。これを一時的に回避することで、何十倍もしくはそれ以上、高速になります。

以下がサンプルになります。大量更新をするロジックをwithブロックで囲み、RecordSetのbatch-events?セッターにtrueをセットします。

 

def rs = {RecordSet …….} || RecordSet定義
{with rs.batch-events? = true do
    {for r in rs do
        || RecordSetの更新ロジック
    }
    {rs.commit} || 更新をcommit
}