关于MAP的查询速度优化问题,是否可批量查询?

zmok8866 2018-06-08 10:40:44
我的MAP中有2000条数据,想查询出其中100个参数的值,但是我觉得遍历100次来查询参数值是效率低下的。

是否有方法能够使用一次遍历即可得出100个参数的值?

或者是否有其他方法提升MAP查询速度?
...全文
975 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-06-08
  • 打赏
  • 举报
回复
个人意见:不超过≥100000数量级的一律没必要优化!
zmok8866 2018-06-08
  • 打赏
  • 举报
回复
引用 4 楼 donjin9 的回复:
可以用迭代器把map从头到尾遍历一次,对比每个参数。不过感觉也不怎样啊。 大小已知的话,hashmap应该更好吧。
map中的key和value都是string
donjin9 2018-06-08
  • 打赏
  • 举报
回复
可以用迭代器把map从头到尾遍历一次,对比每个参数。不过感觉也不怎样啊。 大小已知的话,hashmap应该更好吧。
yshuise 2018-06-08
  • 打赏
  • 举报
回复
std::unordered_map比std::map要好的
zmok8866 2018-06-08
  • 打赏
  • 举报
回复
引用 1 楼 kobehahaha 的回复:
放数据库查
因为一个Map要放数据库查。。。
百合杰 2018-06-08
  • 打赏
  • 举报
回复
放数据库查
zilaishuichina 2018-06-08
  • 打赏
  • 举报
回复
1、请先用perf 工具 测试验证 你的程序的效率瓶颈,确认是在你所说的,从2000条数据中提取100条记录,这个地方,请不要“我觉得”。 2、假定这地方就是瓶颈,map的搜索就是2分,2^11 = 2048,也就是说2000条记录这个数据规模,最差的情况也就是11次key的比较,循环100次,也就是最多1100次的key值的比较,如果这个地方会对效率造成影响,只能说是key值的比较很耗时。 3、lz又说了,key值是字符串,字符串判断相等又存在一个遍历的问题,那就用hash好了。

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧