zoukankan      html  css  js  c++  java
  • 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("索引名称")
  • 相关阅读:
    window下上传文件至linux(windows下如何访问linux)
    32位除法器的verilog语言实现
    socket编程——TCP数据传输的可靠与稳定性
    socket编程——TCP连接与断开
    C踩坑纪实——(一)
    CMAKE工具学习
    排序算法优化思考
    MQTT抓包分析
    C结构体与链表
    第二次作业
  • 原文地址:https://www.cnblogs.com/wangjing666/p/6837115.html
Copyright © 2011-2022 走看看