MongoDB 索引

mongoDB 笔记:

Indexes 可以提升 MongoDB 的查询效率。在没有索引的情况下,MongoDB 必须遍历集合( collection scan )。比如,遍历集合中的所有文档,并选择出符合查询条件的文档。如果有设置 indexes,那么 MongoDB 可以通过 indexes 去缩小需要检查的文档的范围。

 

Indexes(索引) 把文档中的一小部分以一种易于查询(traverse)的方式储存,是一种特殊的数据结构。索引保存某个或某群(set)的域(field)的值,并以值为根据排序。已排序的索引项可以提供高效的等值匹配(equality matches)以及基于范围(range-based)查询操作。另外,通过使用 index看,MongoDB 可以返回已排序的结果。

下图:通过 index 查询并对匹配的文档进行排序

image

 

从根本上来说,MongoDB 的 index 跟其他数据库的索引是相似的。MongoDB 把索引定义在集合层,并支持对文档中的域或子域(sub-field)进行索引。

 

复合索引

要注意复合索引的顺序。比如, {userid:1, score:-1},索引先基于 userid 排序,然后对于 相同的 userid 再基于 score 排序

image

 

参考:https://docs.mongodb.org/manual/indexes/

转载于:https://www.cnblogs.com/hwencc/p/5042386.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值