按序列号搜索会比搜索字符串更快吗?
Posted
技术标签:
【中文标题】按序列号搜索会比搜索字符串更快吗?【英文标题】:Searching by a Sequence Numbers would be faster than searching a string? 【发布时间】:2012-03-13 10:35:54 【问题描述】:我正在运营一个网站,我的收藏中有 450 万份文档。我需要为任何文档添加另一个字段,在所有这 450 万个中会有 10 个不同的字符串。 该字符串类似于“Apache 2.0 Using E”。
我需要查找所有文档,例如,在“Apache 2.0 Using E”这个字段中。那么我应该按这个字符串搜索,还是应该为所有字符串创建另一个集合,而不是在我的 450 万个集合中按字段 ID 搜索?当然我会使用索引,但是通过序列号搜索会比搜索字符串更快吗?
谢谢。
【问题讨论】:
【参考方案1】:总体而言,搜索数字相等可能比字符串比较更快,这也有帮助,因为搜索的文档的大小会更小。很难说速度的提高是否会显着,因为性能会受到许多因素的影响,这些因素可能会使字符串与整数的比较相形见绌 - 例如文档大小的增加如何影响 RAM 中的内容,或者是否正在做对字符串的另一个查询每个请求都比较慢。
索引将快得多。
【讨论】:
以上是关于按序列号搜索会比搜索字符串更快吗?的主要内容,如果未能解决你的问题,请参考以下文章
数据结构与算法之深入解析“序列化和反序列化二叉搜索树”的求解思路与算法示例
LeetCode 942. 增减字符串匹配 / 1728. 猫和老鼠 II(博弈,不会) / 449. 序列化和反序列化二叉搜索树