我有一个集合,类似于:[{a: 'eXeD9', b: 399}, {a: 'eXe9', b: 35399} , xOBJs]
。
我将在b field
中搜索24823293。因此,据我所知,我必须遍历all docs
,直到与24823293有匹配。
所以我很困惑,如果我为b field
创建一个索引,它如何减少扫描的文档数量?
因为24823293可能不在这些reduced docs
内。
由于我是一名移动应用程序开发人员,我对这里的任何帮助都感到困惑。
因为有了索引,扫描将针对{ b }
的可能值执行(该值将存储在时间高效的数据结构中,如B-树(,而不是针对整个文档集执行。
在{ b }
上创建索引可以看作是使{ b }
的值成为文档本身的访问密钥。
你最终会进行索引扫描,而不是完全扫描,这可能会产生巨大的影响。