検索

ホームページ  >  に質問  >  本文

关于mongodb的耗时问题

查询代码:

console.time('计时器1')
collection.count({}, function(err, count) {
        collection.find({}, {
            limit: num,
            skip: (data.page - 1) * num
        }).sort({
            time: -1
        }).toArray(function(err, list) {
            mongoDb.close();
            var page = {}
            page["count"] = count
            page["limitNum"] = num
            callback(null, list, page)
            console.timeEnd('计时器1')
        })
    });

上图,这是我再window下监控到的mongo耗时时间

下图是我再linux下面的耗时时间

为什么同样的查询代码会相差差不多3倍之大?我的数据量就只有67条而已

过去多啦不再A梦过去多啦不再A梦2757日前627

全員に返信(3)返信します

  • 阿神

    阿神2017-05-02 09:26:33

    理由はわかりました。アカ​​ウントのパスワードが設定されているためです。mongo をリクエストするたびにアカウントのパスワードが検証されるため、削除すると時間がかかります。約 30ms に低下します

    返事
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:26:33

    2 つの異なる OS で MongoDB にクエリを実行するときに実行計画を出力し、両側の実行計画を比較することを検討できますか?

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-02 09:26:33

    あなたの Linux システムは 32 ビットですか、それとも 64 ビットですか?

    返事
    0
  • キャンセル返事