1
public class User
{
public int Id { get; set; }
public int Age { get; set; }
public string Name { get; set; }
}
我有100k用户。多字段索引对象数组
查询:让用户名为 “拉斐尔”,其年龄在40到50之间
- 通过Linq2Objects:users.Where(P =>点名称== “拉斐尔” & &页。 Age> = 40 & & p.Age < = 50).ToArray();
有更好的性能有其他实现吗? (只读线程安全的)
(MultiIndexed用户阵列)
我测试过它的性能。对于1000k用户,需要30-50毫秒。这似乎并不重要,但它是。 因为我可以在一秒钟内获得50个请求。
随着dharnitski的解决方案。它需要0ms。 :)
但是有没有任何代码框架使其透明。
public class FastArray<T>
通过线程安全,你的意思是说,当你从它那里查询时,会有其他进程写入你的集合? –
没有抱歉。 ReadOnly ThreadSafe。我更新了问题。 – ozz
_But是否有任何代码框架使其透明._ - 是的。它是RDBMS :) –