码迷,mamicode.com
首页 > 数据库 > 详细

Mongodb学习笔记三(Mongodb索引操作及性能测试)

时间:2014-10-21 17:40:40      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   ar   使用   for   sp   

第三章 索引操作及性能测试


索引在大数据下的重要性就不多说了

 

下面测试中用到了mongodb的一个客户端工具Robomongo,大家可以在网上选择下载。

插入 测试数据

首先插入100万条测试数据

for(var i=1;i<1000000;i++){ 
var person={
Name:"jack"+i,
Age:i,
Address:["henan","wuhan"],
Course:[
{Name:"shuxue",Score:i},
{Name:"wuli",Score:i}
]
}
db.DemoTest.Person.insert(person) 
}

 

性能分析函数(explain)

mongodb中给我们提供了一个关键字叫做“explain"做性能分析。

执行查询分析如下:

db.DemoTest.Person.find({Name:"jack5784124"}).explain()

bubuko.com,布布扣


从上图我们可以看出在没有建立索引的情况下,查询的时间大约是是615毫秒。


创建索引

db.TestCollection.Person.ensureIndex({Name:1})

-----1代表索引按照字母升序排列

查询如图:

bubuko.com,布布扣

从图上我们可以看出,查询时间变成了大约2毫秒,性能提高了几百倍。

 

唯一索引

和sqlserver一样都可以建立唯一索引,重复的键值自然就不能插入,在mongodb中的使用方法是:

db.TestCollection.Person.ensureIndex({Name:1},{"unique":true})

 

组合索引

有时候我们的查询不是单条件的,可能是多条件,那么我们可以建立组合索引来加速查询。

db.TestCollection.Person.ensureIndex({Name:1,Age:1})

 

删除索引

 

db.TestCollection.Person.dropIndex("索引名称")

 

 

Mongodb学习笔记三(Mongodb索引操作及性能测试)

标签:style   blog   http   color   io   ar   使用   for   sp   

原文地址:http://www.cnblogs.com/eggTwo/p/4040670.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!