ユーザー権限のリストがあります。テーブルからすべてのデータを取得し、UserPermission
キャッシュに入れてから、 userID
LINQ を使用してフィルター処理することを考えています。
次回誰かがユーザー許可画面にアクセスしようとすると、キャッシュにデータがあり、ユーザー ID に基づいて必要なベースをフィルタリングして表示するだけです。
それを行うことでパフォーマンスはありますか?それとも、データベース/データ層でフィルタリングする方が速いですか?
ここでは2つの要素が関係しています
一般的に、データの小さなセットの場合、1。と2.の違いはごくわずかです。
結果が小さい大量のデータセットの場合、2。のパフォーマンスが向上します
結果が大きい大量のデータセットの場合、1。のパフォーマンスが向上します
しかしもちろん、この一般化はすべて環境とコードに依存するため、まったく役に立ちません。
レイテンシ、パフォーマンス、古いデータを比較検討する必要があります。
ユースケースごとに常に異なります...
しかし、この種のものはすでに .net に組み込まれています - ASP.NET Authorization Providers を調べてください