问题描述
我有一个类似[{a: 'eXeD9',b: 399},{a: 'eXe9',b: 35399},xOBJs]
的收藏集。
我要在b field
中搜索 24823293 。因此,据我所知,我必须遍历all docs
,直到与 24823293 进行匹配。
因此,如果我为b field
创建索引,我会感到困惑,它如何减少扫描文档的数量?
因为 24823293 可能不在reduced docs
范围内。
当我是移动应用程序开发人员时,我在这里感到困惑。
解决方法
因为有了索引,将针对{ b }
的可能的值(将其存储在省时的数据结构(如B树)中)执行扫描,而不是对您的整套文档。
在{ b }
上创建索引可以看作是使{ b }
的值成为文档本身的访问键。
您最终得到的是索引扫描而不是完整扫描,这可以大为不同。