1

アプリケーションの目的のために、Dataverse 環境に接続する Azure 関数を作成し、さまざまなテーブルから SELECT を使用してデータをクエリし (テーブル A、B、C のレコードに基づいて新しいレコードを作成します)、結果をリストに格納し、次に、それらのレコードを同じ Dataverse 環境に保存しますが、別のテーブル (D としましょう) に保存します。Power Automate による新しいレコードの作成が遅すぎるため、このようなソリューションを選択しました。

正常に動作しますが、要求が多すぎると (2 ~ 3 人を超えるユーザーがアプリケーションで作業し、Azure 関数を実行している)、Dataverse への保存も遅くなり始めます。

そのため、それらの記録を保存および保存する別の方法を考えています。重要なことは、テーブル D のレコードは計算のみを目的としており、ユーザーがそれらを操作したり編集したりしないことです。これが、SQL Datables テーブルを作成し、それらのレコード (テーブル D のみ) をそこに保存し、必要に応じてアプリケーションの接続を変更することを考えている理由です。

これを行うための最も効率的な方法を教えてもらえますか? 一言で言えば、私が必要とするものは次のとおりです。

  • Dataverse に接続し、テーブル A、B、C からデータをクエリします。このクエリの結果は、テーブル D のレコードになります
  • クエリの結果を SQL データベース テーブル (テーブル D) に保存します。
4

1 に答える 1

1

ここで考慮すべきことがかなりあります。

  1. ユーザーがテーブル D のデータを使用しない場合、この操作を夜間またはトラフィックが少なく、この操作のパフォーマンスが低下しても許容できる時間に実行できますか?

  2. SQL ビューの使用を検討しましたか? 計算されたデータを本当に保存する必要がありますか?

  3. おそらく、一度に 1 つの項目を挿入していますか? Sql 一括コピー クラスを使用していますか?

    C#からSQL Serverに一括挿入

  1. この操作中にサーバーの CPU 使用率を観察します。おそらく100%に撃つ場合。パフォーマンスとコストの適切なトレードオフのために、70% の平均使用率を達成したいと考えています。したがって、別のオプションはスケールアップです。
于 2021-07-04T01:23:17.180 に答える