mongo 添加索引(单字段索引, 联合索引 唯一索引,and union 区别) 和sparse选项的使用

参考文档:  https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/

 sparse                https://docs.mongodb.com/v3.0/tutorial/create-a-sparse-index/

注意:

       创建索引基本上都会使用的选项是sparse

        加上它只是在索引字段存在的时候 才会有添加索引的动作,节省资源 .

       使用场景: 项目后期追加的字段 添加索引的时候特别有用, 避免搞挂你的mongo,被你同事打

实列:

普通索引  created_at 倒叙   backgroup :true 后台运营,不block 其他进程

db.getCollection('collection').createIndex({created_at:-1},{background:true, sparse:true})

唯一索引

 db.getCollection('statistic').createIndex({product_id:1, apikey:1,amount_date:1,node_area:1},{unique: true, background:true, sparse:true});

联合索引 

db.collection.createIndex({'end_time':-1, 'login_status':1, 'status_report':1}, {background:true})

区别:

联合索引占用的磁盘空间小一点 ,但是 需要在查询的时候必须带上前面的条件 ,而且顺序不可以乱

在这个联合索引里面 只有三种可以利用到的方法

end_time ,

 end_time login_status ,

 end_time login_status  status_report  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值