mongodb索引如何减少要扫描的文档数量?

问题描述

我有一个类似[{a: 'eXeD9',b: 399},{a: 'eXe9',b: 35399},xOBJs]的收藏集。

我要在b field搜索 24823293 。因此,据我所知,我必须遍历all docs,直到与 24823293 进行匹配

因此,如果我为b field创建索引,我会感到困惑,它如何减少扫描文档的数量

因为 24823293 可能不在reduced docs范围内。

当我是移动应用程序开发人员时,我在这里感到困惑。

解决方法

因为有了索引,将针对{ b }的可能的(将其存储在省时的数据结构(如B树)中)执行扫描,而不是对您的整套文档。

{ b }上创建索引可以看作是使{ b }的值成为文档本身的访问键。

您最终得到的是索引扫描而不是完整扫描,这可以大为不同。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...