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 :) –