時間短縮とエラー減少!Logic Appsを使ったバルクインサートのすすめ
2024-12-25
azblob://2024/12/25/eyecatch/2024-12-25-logicapps-bulk-insert-000.jpg

1. はじめに

本ブログでは、LogicAppsでSQL Serverにデータを挿入する際に、バルクインサートを利用することの利点と、その具体的な手順について解説します。

2. バルクインサートのメリット

バルクインサートとは、大量のデータを一括でデータベースに挿入する方法です。これにより、以下のようなメリットが得られます。

2.1 エラーの減少

一件ずつデータを挿入する方法では、個々のレコードに対して挿入操作が行われるため、エラーが発生しやすくなります。ネットワークの不安定さや一時的な障害によってもエラーが起こる可能性があります。一方、バルクインサートではまとめてデータを送信するため、通信回数が減少し、エラー発生のリスクも低くなります。

2.2 処理時間の短縮

一件ずつのインサートは、各レコードごとに通信と挿入処理を行うため、全体の処理時間が長くなります。バルクインサートでは、複数のレコードを一度に挿入するため、接続のオーバーヘッドが削減され、大幅な時間短縮が可能です。

3. Logic Appsでバルクインサートを行う方法

全体の流れは下記の画像の通りです。

全体の流れ
全体の流れ

ポイントは↓の点です。「Append to string variable」アクションを使って値を格納します。

Append to string variableでデータの塊を作る
Append to string variableでデータの塊を作る

それによって以下のようなデータが作成されます。

('example1','example2','example3'),('example4','example5',example6'),....

「SQL クエリを実行する (V2)」の前の「Compose」で以下の処理をします。

substring(variables('string'), 0, sub(length(variables('string')), 1))

※stringはInitialize variableで定義したもの

これにより、「Append to string variable」で作ったデータの一番最後の「,」を取り除くことができます。

一番最後の「,」を取り除く
一番最後の「,」を取り除く

これを後続の「SQL クエリを実行する (V2)」でVALUESの後に挿入することによってバルクインサートを行います。

SQLクエリを実行するでINSERT
SQLクエリを実行するでINSERT

4. まとめ

Logic AppsでSQL Serverにデータを挿入する際、バルクインサートを使用することは、エラーの減少と処理時間の短縮という大きなメリットがあります。一件ずつのインサートに比べて効率的で信頼性の高い方法です。ぜひ、バルクインサートを活用してLogic Appsのフローを最適化してみてください。

Logic AppsとSQL Serverの組み合わせでのデータ挿入は、ビジネスプロセスの効率化に不可欠です。バルクインサートの活用により、システムのパフォーマンスと信頼性を向上させましょう。