创建索引

本文详细介绍了如何在MongoDB中创建索引,包括升序和降序排序、唯一性索引的使用,以及创建原则如大数据量下索引必要性和频繁查询条件的字段选择。实例演示了数据准备和索引创建过程,并提供了创建索引的技巧和最佳实践。
摘要由CSDN通过智能技术生成

创建索引的语法
因为MongoDB中存放了大量的数据,所以为了加快数据检索速度,需要为集合设置索引

db.collection.createIndex({keys:1},options)

索引字段按照升序排序,属性值为1,降序排列属性值为-1

因为创建索引的过程会阻塞MongoDB,影响其他增删改查操作,所以background参数代表在空闲的时候创建索引

db.student.createIndex(name:1)
db.student.dropIndexes()
db.student.createIndex({name:1},{background:true})
db.student.createIndex({name:1},{background:true,name:"name"})
db.student.getIndexes()

唯一性索引
唯一性索引只能创建在每个记录都含有的公共字段上,在非公共字段上是不能创建唯一性索引的。

db.student.createIndex({sid:1},{background:true,unique:true})

数据准备

use school
db.student.update({name:"Scott"},{$set:{sid:8000}})
db.student.update({name:"陈浩"},{$set:{sid:8001}})
db.student.update({name:"刘娜"},{$set:{sid:8002}})
db.student.update({name:"赵婷婷"},{$set:{sid:8003}})
use school
db.student.createIndex({sid:1},{background:true,unique:true,name:"sid"})

创建索引的原则
数据量很大的集合必须创建索引,相反则不需要创建索引
集合的数据读取多过写入,则需要创建索引
给经常被当做查询条件的字段设置索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值