MongoDB索引与优化详解

本文深入探讨了MongoDB的索引类型,包括_id、单键、多键、复合、过期、全文和地理位置索引,并讨论了索引属性、实例测试以及库级锁问题,强调了索引在性能优化中的关键作用。
摘要由CSDN通过智能技术生成

在MongoDB中通过建立索引可以进行高效的查询,如果没有索引MongoDB将会扫描整个集合与查询的条件进行匹配,这对于性能会造成很大的消耗。

技术博客: Node.js技术栈

快速导航

面试指南

  • 生产环境如何正确创建索引?,参考:#

Mongodb索引类型

MongoDB提供了不同的索引类型支持在不同的业务场景进行查询

1. _id索引

绝大多数集合默认建立索引,对于每个插入的数据,MongoDB都会生成一条唯一的_id字段。

例如新创建一个集合时

db.demo_admin2.insert({
   x:1})
db.demo_admin2.getIndexes() # 查看集合索引,可看到_id索引
2. 单键索引

是最普通的索引,单键索引不会自动创建

例如一条记录形式为:{x:1,y:2,z:3},只要在x字段上建立索引之后,就可以用x为条件进行查询

db.demo_admin2.ensureIndex({
   x:1}) # 创建索引
db.demo_admin2.find({
   x:1}); # 使用索引查询
3. 多键索引

多键索引与单键索引区别在于多键索引的值具有多个记录,是一个数组

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值