2つのタイプの計算列がいくつかあります。
- 現在のテーブルの列に基づいて計算された列(つまり、価格*税)
- 他の列に基づいて計算された列(つまり、Price * fn_GetTax(OrderId))
クライアントのCLRでのみこれらの列を使用し、サーバーから計算と転送のパフォーマンスを保存する方がよいと思いますか?上記のタイプ(および他のタイプ)で異なりますか?
2つのタイプの計算列がいくつかあります。
クライアントのCLRでのみこれらの列を使用し、サーバーから計算と転送のパフォーマンスを保存する方がよいと思いますか?上記のタイプ(および他のタイプ)で異なりますか?
計算列をSQLテーブルの一部にしようと思います-そうするために必要な努力が法外でない場合。
かなり単純な計算、ルックアップ、またはそれらの線に沿った何かがある場合は、それらをSQLテーブルに直接配置します。このように、T-SQLまたはSQL Serverデータベースにアクセスする別のツールを使用してテーブルをクエリする必要がある場合でも、これらを使用できます。おそらく、はるかに高速です(特に、永続化できる場合)。 。
より複雑な要件がある場合、広範な文字列、数学、または日付操作などが必要な場合は、それらの計算を.NET言語に変換することをお勧めします。これをCLRアセンブリとしてSQLServerに保存し、SQL Serverで列を直接実行するか(他のチームやプロジェクトで再利用される可能性がある場合)、可能性が高い場合はそれらをEFモデルに配置することができます。それらの計算列に関心があるのは1人だけです。
それがあなたの質問に少し光を当てることを願っています!