繰り返し処理のパフォーマンス改善

繰り返し処理(繰り返し処理、繰り返し(条件指定)処理、繰り返し(データ件数)処理)では、ループごとにログを出力したり、スクリプトによってはファイルへの書き込みを行ったりするため、ループ回数に比例して出力処理が多くなります。そのため、ループ内の処理を少しでも減らすことによって、パフォーマンスの向上が期待できます。

また、トランザクション化することによって、コミットを最後の1回にまとめることで同様の効果が得られることも想定されます。

繰り返し処理を使用する場合には、以下の設定を行うことでパフォーマンスが改善されることがあります。

ログレベルの設定

高いログレベルを設定したり、XMLログを出力しない設定にしたりすると、ファイルの容量が抑えられるほかに、副次的な効果としてログ出力のコストが軽減されることによるパフォーマンスの向上が考えられます。

通常はログレベルの変更を行うとスクリプト全体に適用されますが、繰り返し処理にログレベルを設定することで、スクリプト全体のログレベルを変えることなく、繰り返し処理内のコンポーネントのログレベルだけを変更できます。

ログレベルの詳細については、「ログレベル」を参照してください。

ログレベルの設定方法

  1. 繰り返し処理画面の「ログ設定」タブを開き、ログ設定を変更するおよびログを出力するのチェックボックスを選択します。

  2. ログを出力するのドロップダウンリストから、繰り返し処理で出力するログレベルを選択します。

    NOTICEのログレベルが一番高く、出力されるログの量が少なくなります。

トランザクション処理の活用

繰り返し処理を含むスクリプトにトランザクション処理を組み込むことで、複数の処理をまとめて実行することができます。

処理の仕方が変わることによって出力のコストを軽減し、パフォーマンスが改善される場合があります。

トランザクション処理の詳細については「トランザクション」を参照してください。

トランザクション処理の設定方法

設定例として、以下の繰り返し処理を含むスクリプトを使用します。

  1. デザイナーのツールパレットから「基本」-「フロー」-「トランザクション」をスクリプトキャンバスにドラッグ&ドロップします。

  2. トランザクション処理をドラッグ&ドロップすると、以下のコンポーネントアイコンがスクリプトキャンバス上に配置されます。

    • トランザクション

    • トランザクション終了

  3. 繰り返し処理を囲むようにトランザクション処理を配置します。

  4. トランザクション処理で囲んだCSVファイル書き込み処理(ここでは「csv_write(1)」)のトランザクションタブでトランザクション処理を行うにチェックを入れます。

  5. 「トランザクション終了」から「End」アイコンにフローを引きます。