測試MongoDB中key的位置對查詢的影響

2021-12-30 02:50:46 字數 821 閱讀 2347

測試mongodb中key的位置對查詢的影響

《mongodb開發技巧50例》:通過建立分級文件加速掃瞄"一文中講了合理的層析可以減少mongodb對字段的訪問提公升速度。以前從來沒有想到還會有這樣的情況,在關係型資料庫中沒有聽說過。那現在就來測試一下是否是這樣的。

清單1:

01for (var i=0; i<5000000; i++))03}

04//查詢30次

05//準備完資料開始查詢,所有的key都沒有建立索引。分別根據 a、b、e、h進行查詢。

06for (var i=0; i<30; i++)).explain();

08 db.testq.res.insert();

09 res = db.testq.find().explain();

10 db.testq.res.insert();

11 res = db.testq.find().explain();

12 db.testq.res.insert();

13 res = db.testq.find().explain();

14 db.testq.res.insert();

15}實驗結果:

疑問與總結:

1.是不是因為mongdb本身是無模式的,同乙個集合中可以儲存任何型別、格式的資料。所以在查詢要掃瞄所有的鍵。

2.從結果來看,確實越靠前的鍵查詢速度越快。再設計時可以把查詢常用的鍵放到前面。

MongoDB的分片測試

分片結構埠分布如下 shard server 1 27020 shard server 2 27021 shard server 3 27022 shard server 4 27023 config server 27100 route process 40000 1.正確安裝mongodb 2....

MONGODB的壓力測試

測試過程 首先清理資料庫 go run mload.go host 127.0.0.1 clean true 再來為查詢準備資料 比如準備1000000條 go run mload.go host 127.0.0.1 datanum 1000000 procnum 1 operation prepa...

vue中key值與react中key值的區別

兩者演算法比較不同 分別對olds olde s e兩兩做samevnode比較,有四種值,舊集合的開頭和結束 olds,olde 新集合的開頭和結束 s e 當其中兩個能匹配上那麼真實dom中的相應節點會移到vnode相應的位置,這句話有點繞,打個比方 大意就是每次比較四個key值,匹配上的就移動...