zoukankan      html  css  js  c++  java
  • Mongodb学习笔记三(Mongodb索引操作及性能测试)

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


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

    下面测试中用到了mongodb的一个客户端工具Robomongo,大家可以在网上选择下载。官网下载地址:http://www.robomongo.org/

    插入 测试数据

    首先插入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("索引名称")
     
  • 相关阅读:
    【简●解】POJ 1845 【Sumdiv】
    【简●解】 LG P2730 【魔板 Magic Squares】
    团队会议01
    【随手记】原型展示+电梯演讲
    发际线总和我作队-第一次视频会议
    团队项目-记账App
    人生第一篇博客 , 当然是经典的 "Hello World"
    窗体评分系统
    优化MySchool数据库设计总结
    相关子查询
  • 原文地址:https://www.cnblogs.com/eggTwo/p/4040670.html
Copyright © 2011-2022 走看看