搜尋

首頁  >  問答  >  主體

關於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 天前626

全部回覆(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
  • 取消回覆