關於mongodb的耗時問題
过去多啦不再A梦
过去多啦不再A梦 2017-05-02 09:24:33
0
3
665

查詢代碼:

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梦

全部回覆(3)
阿神

找到原因了,是因為設定了帳號密碼的原因,我看每次請求mongo都會去驗證帳號密碼,導致時間用的很長,去掉就下降到30ms左右了

给我你的怀抱

是否可以考慮列印出在2個不同OS的MongoDB查詢的時候的執行計劃,比較一下兩邊的執行計劃。

过去多啦不再A梦

你的linux系統是32位還是64位的

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板