首页 > 代码库 > Mongodb学习笔记三(Mongodb索引操作及性能测试)

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

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


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

 

下面测试中用到了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()


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


创建索引

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

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

查询如图:

从图上我们可以看出,查询时间变成了大约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索引操作及性能测试)