问题描述
学习 MongoDB,我刚刚了解到,直到 4.2 版(即最近),它才会索引值超过 1,024 字节的字段。虽然我不知道他们用什么机制来消除这个限制,但我立刻想到了如何去做。
MongoDB 索引通常采用 B 树的形式。但是,MongoDB 还可以选择将索引键指定为散列键。我开始怀疑 1,024 字节的限制是否存在主要是因为与 B 树和/或基于索引的数据排序有关。我突然想到,如果是这样,克服导致 1,024 字节限制的更深层次限制的方法是:
索引 B 树中任何字段的前 1,024 个字节;将任何剩余数据视为虚拟独立字段;并散列该虚拟字段。
这将减轻 B 树机制上过大的任何障碍。它可以消除集合中的排序问题,其中没有两个文档在该字段中的值匹配超过前 1,024 个字节:在到达散列部分之前,任何两个文档的排序顺序都会得到很好的解决。
这纯粹是头脑风暴,可能缺乏复杂性,但我正在寻找出口,所以我来了。有什么意见吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)