社区
C语言
帖子详情
千万级数据,如何以最快的速度查找
Bandry
2019-03-26 12:35:51
目前有个项目,情况如下:
现在有200w的字符串,数据加载到内存后,输入一个字符串,找出对应的字符串相关信息
简单举例:
struct {
char * str,
struct test
}
每个字符串是一个这样的结构体,数据量大约有200w,要求输入一个字符串,以最快的速度,找出对应的结构体
要求在0.1毫秒内查找出来 (因为这种查找请求并发在10000以上)
该如何来设计这个数据结构和查找算法了,头疼
...全文
602
7
打赏
收藏
千万级数据,如何以最快的速度查找
目前有个项目,情况如下: 现在有200w的字符串,数据加载到内存后,输入一个字符串,找出对应的字符串相关信息 简单举例: struct { char * str, struct test } 每个字符串是一个这样的结构体,数据量大约有200w,要求输入一个字符串,以最快的速度,找出对应的结构体 要求在0.1毫秒内查找出来 (因为这种查找请求并发在10000以上) 该如何来设计这个数据结构和查找算法了,头疼
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
蠓虫带着秤砣飞
2019-03-26
打赏
举报
回复
引用 6 楼 Bandry 的回复:
感谢大家的回复,目前采用了uthash存储,但是总感觉还有更高效的方法能实现,匹配是完全匹配,不用部分匹配
可以分块。 比如按第一个字节的值,分块,可以把千万条级别的数据每块下降1-3个数量级。 根据第一个字节选择块,然后再在块里面查找。这样就会快很多。
Bandry
2019-03-26
打赏
举报
回复
感谢大家的回复,目前采用了uthash存储,但是总感觉还有更高效的方法能实现,匹配是完全匹配,不用部分匹配
636f6c696e
2019-03-26
打赏
举报
回复
建立哈希表呀
AlbertS
2019-03-26
打赏
举报
回复
分组建立索引呗,全都导入内存吗?看看内存够不够吧
蠓虫带着秤砣飞
2019-03-26
打赏
举报
回复
我上面说的太粗了。 其实还需要知道 字符串的匹配方式是什么样的? 比如字符串需要的是完全匹配还是部分匹配? 如果不需要部分匹配,就不用建立索引
蠓虫带着秤砣飞
2019-03-26
打赏
举报
回复
这个要建索引。参考搜索引擎的索引方式。
真相重于对错
2019-03-26
打赏
举报
回复
关键看你用何种数据结构存储 建议使用hashtable,或者BTREE
数据
库SQL
千万级
数据
规模处理概要
本文分享了处理
千万级
数据
的一些策略,包括
数据
分表、预处理、使用存储过程、避免函数操作列、合理设计索引等,强调了预处理和分布式处理的重要性,旨在提高大
数据
量下的查询效率。
处理
千万级
数据
MYSQL
本文分享了一个实际案例,针对一个拥有4000万
数据
量的MySQL表进行了性能优化,包括
数据
库设计、SQL优化、分区、分表、分库等策略,并探讨了升级
数据
库和大
数据
解决方案。
阿里二面:MySQL索引是怎么支撑
千万级
表的快速
查找
?
本文详细探讨了MySQL中索引的工作原理,从磁盘I/O效率到B+Tree
数据
结构,分析了不同存储引擎如InnoDB和MyISAM的特性。重点讲解了InnoDB的事务、锁粒度和MVCC,以及为何推荐使用整型自增主键,最后讨论了非主键索引的叶子节点存储主键值的原因。
从卡顿到丝滑:SmartDNS如何用红黑树实现
千万级
域名秒级解析
SmartDNS是一款支持DoH/DoT的本地DNS服务器,通过红黑树高效管理
千万级
域名与IP映射关系,实现O(log n)时间复杂度的
查找
、插入与删除,显著降低平均查询耗时至1.2ms,缓存命中率达96.1%。其核心在于利用红黑树替代传统哈希或链表结构,解决高并发下域名解析延迟问题,提升整体网络访问流畅性。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章