zoukankan      html  css  js  c++  java
  • mongodb 查询少少优化

    print(db.player.count())
    
    var startDate=new Date();
    
    //db.player.find().limit(10).skip((db.player.count()-5*10)).forEach(printResult); 
    
    //db.player.find({"_id":{$gt:4999956}}).limit(10).forEach(printResult);            
    
    db.player.find({"name":"solq_7"}).limit(10).skip(10).sort.forEach(printResult);
    
    //db.player.ensureIndex({name:1});
    
    print(new Date()-startDate);
    
    function printResult (r) {
      print(tojson(r))
    }
    
    /* var id=5000001;
    for(var i=0;i<1000;i++)
    {
        db.player.insert({
            "_id":id,
            "_class" : "org.solq.entity.Player",
            "name":"solq_7"
        });
        id++;
    } */
    //http://www.mongodb.org/display/DOCS/Scripting+the+shell
    
    //api
    //http://docs.mongodb.org/manual/reference/javascript/

    第一个查询 没加索引 五百万数据差不多要三秒

    db.player.find().limit(10).skip((db.player.count()-5*10)).forEach(printResult); 

    第二个查询 没加索引 90毫秒左右

    db.player.find({"_id":{$gt:4999956}}).limit(10).forEach(printResult);

    第三个查询 没加索引 7秒左右

    db.player.find({"name":"solq_7"}).limit(10).skip(10).sort.forEach(printResult);

    第四个查询 加索引 40毫秒左右

    db.player.find({"name":"solq_7"}).limit(10).skip(10).sort.forEach(printResult);

    添加索引 五百万数据用了差不多三分钟

    db.player.ensureIndex({name:1});

    小结一下:

    1:加索引查询明显快了200多倍,,,哈哈

    2:至少加个 key 条件查询,总比没加条件快很多,如 $gt $lt. 我认为每个结构应该加个 createTime 

    运行

    >mongo.exe shell.js

  • 相关阅读:
    Pytorch:常用工具模块
    Pytorch: torch.nn
    流行框架阶段·概览
    jquery/js实现一个网页同时调用多个倒计时(最新的)
    用js判断页面刷新或关闭的方法
    js中substr,substring,indexOf,lastIndexOf,split 的用法
    jsonp案例
    CSS布局奇技淫巧:各种居中
    IntelliJ Idea 常用快捷键列表
    jquery中attr和prop的区别
  • 原文地址:https://www.cnblogs.com/solq/p/2712555.html
Copyright © 2011-2022 走看看