今天在做一个小的程序,遇到了一个性能问题,List<User> 中有10W 条记录,User 中存储为Id,Name,Ustr,Pwd 这些数据,当一个用户登录是,登录名是Ustr是一个20位的string 类型。且Ustr 是唯一的。不区分大小写当我从这10W条记录中查询是。速度很慢。不知道大家有没有好的方法。来加快这个速度!
2 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
要具体情况具体分析,
1.List<User>是临时存储用户数据的对象,如果之做简单的1到2次使用就不要再排序了,即使是最快的排序算法也需要nlogn的平均时间复杂度。直接遍历的速度是O(n).
2.如果是长期保存用户信息,并且会给其他的用户使用来验证用户密码等,可以考虑排序。这样长远来看确实效率高了。
3.用户信息考虑别的方式存储,不知道是你数据源的原因还是代码实现的问题。一般考虑方式到数据库里处理。这个是通用的做法。
4.HashTable不错,但是受限制。效率很高o(1).信息是只有键值和键。
- 2 回答
- 0 关注
- 368 浏览
添加回答
举报
0/150
提交
取消