私は基本的にSQL Serverで何でもするだろうと。
は、データの合算計数の多くは、平均化などを行い、単一の値のみを返します。 大量のデータを中間層に転送するだけでは、列を集計するだけでは意味がありません。
多くの行/セットベースの操作を行います。データのコピー、挿入、更新が必要な場合は、そのデータをすべて中間層にドラッグして、すべてサーバーに戻す必要はありません。サーバーからすぐに実行してください。また:T-SQLは、あなたの中間層で何よりも、(周りのデータのシャッフルのような)セットベースの操作に対処する上で非常に高速であることは簡単で
可能性があります。クライアントに大量のデータを送信しないようにしてください(データベースに格納されたファイルをダウンロードしたい場合、または実際ににが必要な場合は、アプリ内のオブジェクトにマテリアライズされた200行をどこかに表示または操作させる必要がある場合を除き、/中間層/ on)
よく見落とされる機能の1つは、計算テーブルのデータベーステーブルたとえば、あなたの注文合計と税金と送料の合計を合計して表示するか、姓と名を一緒に表示名に入れることができます。これらの種類のことは、ビジネスロジックレイヤーでのみ処理するべきではありません。データベースのデータを直接操作する場合は、データベーステーブルを調べてSQL Serverのデータを見るときに、 MGMTメーカー...
私はそれがなど広範な論理チェック、文字列解析、パターンマッチングとを必要に応じて中間層/ビジネスロジック層
にそれを置くでしょう。 T-SQLは、(それがビジネスロジックの動作のより必要に応じてその
のようなあなたに対するデータ、または何かを検証するためにいくつかのデータを取得するには、Webサービスを呼び出すようなものを、必要に応じてそれらのもの
で吸いますのではなく、厳密な「原子」のデータベース操作)
しかし、これらは単に「ラフ」のガイドラインです - それは、常に各ケースの設計上の決定だ、と私は厳格な規則を信じていません。あなたの走行距離は、ケースごとに異なる場合がありますので、手元の任意のタスクに最適なアプローチを選択してください。
私はいつも計算をデータベースで行います** **あなたの計算で**たくさんのデータ**を中間層に返す必要がある場合は**、計算された「SUM」。そのデータをすべて送信するのはどうしてですか?データベースは、いくつかの値を合計し、単一の結果を返すだけで十分です - **多くの**効率化!だから、たくさんのことをする必要がありますが、少しは戻ってくる必要があるときはいつでも、サーバ上でそれを行います。 –
私は@ marc_sに同意します。SQL Serverは、データを迅速かつ効率的に処理するように設計されています。 –