0

我有一个用户权限列表。我正在考虑从UserPermission表中提取所有数据,将其放入缓存中,然后userID使用 LINQ 对其进行过滤。

因此,下次有人尝试访问用户权限屏幕时,我会将数据保存在缓存中,然后根据用户 ID 过滤和显示必要的基础。

这样做有什么表现吗?或者在数据库/数据层中过滤它的速度更快?

4

2 回答 2

1

这里有两个因素在起作用

  1. 通过 LINQ 过滤数据的速度
  2. 通过 SQL 过滤数据并将数据从数据存储返回到应用程序的速度

一般来说,对于小型数据集,1. 和 2. 之间的差异可以忽略不计。

对于小结果的大数据集,2.会有更好的表现

对于具有大结果的大数据集,1.将具有更好的性能

但是当然,这种概括是完全没有用的,因为它完全取决于您的环境和您的代码。

于 2012-05-22T11:48:23.753 回答
0

您需要权衡延迟、性能和陈旧数据。

不同的用例总是不同的......

但是这种东西已经内置在 .net 中了——查找 ASP.NET Authorization Providers

于 2012-05-22T11:43:49.267 回答