mongodb 索引是什么数据结构

如题所述

MongoDB索引使用B-tree数据结构

索引支持MongoDB中查询的高效执行。如果没有索引,MongoDB必须执行集合扫描,即扫描集合中的每个文档,以选择与查询语句匹配的文档。如果查询存在适当的索引,MongoDB可以使用索引来限制它必须检查的文档数。



扩展资料

MongoDB索引的类型

1、单字段索引(Single Field Index)

这个是最简单最常用的索引类型,比如我们上边的例子,为id建立一个单独的索引就是此种类型。

2、复合索引(Compound Index)

索引field的先后顺序很关键,影响有两方面:

(1)MongoDB在复合索引中是根据prefix排序查询,就是说排在前面的可以单独使用。

(2)过滤出的document越少的field越应该放在前面,比如此例中id如果是唯一的,那么就应该放在最前面,因为这样通过id就可以锁定唯一一个文档。而如果通过city或者score过滤完成后还是会有大量文档,这就会影响最终的性能。

索引的排序顺序不同:复合索引最末尾的field,其排序顺序不同对于MongoDB的查询排序操作是有影响的。

3、多key索引(Multikey Index):主要针对数据类型为数组的类型。

4、其它类型索引:另外,MongoDB中还有其它如哈希索引,地理位置索引以及文本索引,主要用于一些特定场景。

温馨提示:答案为网友推荐,仅供参考