• 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("索引名称")
  • 相关阅读:
    Scala篇:Scala环境及IDEA配置
    大数据篇:Hive
    大数据篇:Flume
    大数据篇:Kafka
    15.百万考生成绩如何排序
    Tomcat 架构原理解析到架构设计借鉴
    服务设计思考:平台化
    Druid:通过 Kafka 加载流数据
    12.分而治之-归并排序
    11.经典O(n²)比较型排序算法
  • 原文地址:https://www.cnblogs.com/wangjing666/p/6837115.html
Copyright © 2020-2023  润新知