您的位置:首页 > 数据库 > Mongodb

Mongodb中索引

2015-08-12 19:02 387 查看
索引支持的解析度的查询效率。如果没有索引,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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: