C# 这个想法需要提高我的逻辑的性能

C# 这个想法需要提高我的逻辑的性能,c#,performance,business-logic,C#,Performance,Business Logic,在我的应用程序中,我为每个用户id创建一个映射,其中包含他有权访问的文件id 例如: 用户ID-101数据-100101 因此,我为每个用户创建了这个文件映射。当位为1时,他可以访问该文件;否则他就不会。但我的问题是我有40000000个文件 每当用户搜索时,将加载相应的用户地图以生成正确的结果。如果我有40000个用户,这意味着我需要创建40000个地图文件 如何为该系统创建高性能实现 我认为您应该使用通用的解决方案:用户、用户组以及用户和组的角色。如果你把你的逻辑分为这三个部分,就会更清楚,

在我的应用程序中,我为每个用户id创建一个映射,其中包含他有权访问的文件id

例如:

用户ID-101数据-100101

因此,我为每个用户创建了这个文件映射。当位为1时,他可以访问该文件;否则他就不会。但我的问题是我有40000000个文件

每当用户搜索时,将加载相应的用户地图以生成正确的结果。如果我有40000个用户,这意味着我需要创建40000个地图文件


如何为该系统创建高性能实现

我认为您应该使用通用的解决方案:用户、用户组以及用户和组的角色。如果你把你的逻辑分为这三个部分,就会更清楚,更容易理解。

也许你不会说德语。但只需在以下文章末尾滚动: 并查看该项目(旧VB经典)

它显示了排序算法之间的差异。你可以选择和比较。在本例中,我认为您可以选择应用程序可以使用的哈希代码(您称之为映射文件)

在任何情况下,我都建议尽可能使用树或子组,而不是一个需要首先解析为3个参数的数字


关于

创建一些关卡和所有者,只需将这些数据位附加到文件中即可。然后检查用户是否可以运行/读取/写入/ect。除非您正在寻找其他内容?您是否可以对访问同一组文件的用户进行分组?然后为每个组创建一个映射文件,而不是为每个用户创建一个。这是一个非常令人困惑的问题。请显示一些现有代码/示例。这是UNIX吗?而且-我不敢问-你为什么要这样做?我正在编辑这个文件,然后我会载入内存。。我正在做的是。。我需要知道他是否有访问权限…为此,我正在创建文件。。我不能使用组,这是不可能的。。。