これはよくある質問です :) 知っておくべきデータベース プログラミング アーキテクチャの設計がいくつかあり、そのコストと利点は何ですか。2 層とは、通常、クライアントが DB に接続し、直接 SQL 呼び出しを発行することを意味します。3 層とは、通常、DB に直接 SQL 呼び出しを発行している「アプリケーション サーバー」があることを意味しますが、クライアントはアプリ サーバーと通信しています。通常、これにより「スケールアウト」が可能になります。最後に、2 層のような形式を採用する 2 1/2 層のアプリがあり、作業のみがストアド プロシージャ内で区分化されます。
あなたのプロセスは「バックオフィス」のようなものに聞こえます.クライアント/プロセスは、月に1回集計されてキャッシュされる結果を必要とするだけです. つまり、接続し、頻繁に接続し、「これらの計算を実行してください」と言うエージェントはありません。代わりに、たまに発生するプロセスをほのめかし、非リアルタイムで逃げることができます.
したがって、これらの要件を考えると、一般的には、データに近づき、SQL サーバーにすべての計算を任せる方が高速であると言えます。データへの近さがあなたに役立つことがわかると思います。
ただし、これらの計算を実行すると、一部の計算が SQL Server に適していないことに気付く場合があります。たとえば、債券や債券の未収利息の計算を考えてみましょう。SQL ではあまりきれいではなく、よりリッチなプログラミング言語に適しています。ただし、単純な平均やその他の比較的健全な集計がある場合は、SQL 側でストアド プロシージャに固執します。
繰り返しますが、あなたの計算の性質、またはサポートのための開発者の SQL 機能に関してあなたの家が何を義務付けているか、またはあなたの上司が何を言っているのかについての十分な情報はありません...しかし、私は SQL の使い方を知っているので、データの近くにいて、このようなタスクには純粋な SQL/ストアド プロシージャを使用します。
YMMV :)