gpt4 book ai didi

c# - 内存中集合的 Linq 性能

转载 作者:太空狗 更新时间:2023-10-29 20:01:36 35 4
gpt4 key购买 nike

我有一个列表:Collection users,其中包含大约 100K+ 条用户记录(所有用户对象都从数据库中完全加载,其中包含 Bio、First name、last name 等字段)。此集合在应用程序启动时从数据库中获取并保存在内存中。

然后我有这样的代码:

User cachedUser = users.FirstOrDefault(x => string.Equals(x.UserName, username,
StringComparison.CurrentCultureIgnoreCase));

我用它从这个集合中获取用户。但不知何故,我注意到这个操作非常慢。使用 Linq 在内存中查询大对象集合时是否存在性能问题?我是否应该在每次想要获得用户时调用数据库?

最佳答案

我认为您可能需要根据您提供给我们的信息重新考虑您的架构。利用数据库,让它为您完成搜索工作。观察、测量,然后做出相应的改变。您可能会意识到您过早地优化了整个事情。

关于c# - 内存中集合的 Linq 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11124273/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com