首页 > 解决方案 > 由于加密数据而添加到列表性能

问题描述

我创建了一个系统,必须在数据库中加密大量敏感数据。我面临的问题是使用过滤器查询数据,例如名字、姓氏等。由于这些值在数据库中被加密,我目前唯一的解决方案是带回所有数据并添加到列表中,然后查询列表. 这会导致一些性能问题。

我已经厌倦了 Dictionary、HashSet 和 Parallel 方法来提高速度,但没有运气。

下面的函数是一个 IQueryable 方法,它从数据库中带回 800 条记录。此 SQL 查询运行大约 0.02 秒。

var data = dc.GetSensativeData();

然后我创建一个列表的实例。

var listItems = new List<T>();

然后我遍历查询(800 条记录)并进入列表。我正在解密 foreach 循环中的一些值。

foreach (var item in data)
{
    listItems.Add(item);
}

800 条记录大约需要 15 秒才能呈现太长的页面。

谢谢

标签: c#sqllist

解决方案


推荐阅读