Mongodb中索引

本文介绍了MongoDB中索引的作用及其实现原理。通过对比500万条记录集在有无索引情况下的查询效率,展示了索引如何显著提高查询速度。文中还提供了创建、查看和删除索引的方法。
      索引支持的解析度的查询效率。如果没有索引,MongoDB 必须扫描每一个文档的集合,要选择那些文档相匹配的查询语句。这种扫描的效率非常低,会要求 mongod 做大数据量的处理。

      索引是一种特殊的数据结构,存储设置在一个易于遍历形式的数据的一小部分。索引存储一个特定的字段或一组字段的值,在索引中指定的值的字段排列的。



索引:
    测试:
    1.500w记录  没有建立索引情况下,从500w数据库中查询某一条几率需要花多久时间
    2.位集合建立索引,在建立索引之后查找,需要多久时间


use mydb
for(var i = 0; i < 5000000; i++) {
    db.person.insert({"name":"feng"+i}, "age":i);
}


创建普通索引:db.person.ensureIndex({"age":1})
查看关于索引的相关信息,使用命令 db.collection.stats()
删除索引,使用命令 db.collection.dropIndex({key:1})
创建唯一索引:db.person.ensureIndex({"age":1},{"unique":true})  则age中的值是唯一的,不能重复


发现:创建索引后,查询数据的时间明显减少了很多。


推荐一个很好的学校mongodb的网站:http://www.yiibai.com/mongodb/mongodb_indexing.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值