mongo索引查詢優(yōu)化

1. 選擇合適的文件系統(tǒng)便于mongodb隨時申請磁盤空間(使用ext4,xfs取代ext3)

2. 包含排序的查詢語句,優(yōu)化的方法是索引中包含排序字段。如果還有$in語句,那么建立索引的時候,排序字段應(yīng)該在$in語句對應(yīng)字段的前面。

a: 聯(lián)合索引

db.comments.find({ tags :'mongodb'}).sort({ created_at : -1});

db.comments.ensureIndex({tags :1, created_at : -1});

b: 排序與選擇列

1. 排序的列一定要在索引的最后。

好的:

find(a=1).sort(a)

find(a=1).sort(b)

find(a=1, b=2).sort(c)

不好的:

find(a=1).sort(c)

即使c是索引的最后一列,如果a列是所使用的最后一列,你只能通過a或者b列進行排序。

c:

MongoDB's $ne 或者$nin 操作在索因傷是無效的。

d: $in操作和排序同時存在,事情完全不一樣了

db.collection.find({"country": {"$in": ["A","G"]}}).sort({"carsOwned":1})

db.test.find({a:1,b:{$in:[1,2]}}).sort({c:1})

那么可能建立 {a:1, c:1, b:1} 的聯(lián)合索引會比較合適

refer: http://blog.csdn.net/liqfyiyi/article/details/51791233

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 一、MongoDB簡介 1.概述 ? MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫,由C++語言編寫。旨在為WE...
    鄭元吉閱讀 983評論 0 2
  • 簡介 MongoDB 是一個基于分布式文件存儲的NoSQL數(shù)據(jù)庫 由C++語言編寫,運行穩(wěn)定,性能高 旨在為 WE...
    大熊_7d48閱讀 37,554評論 1 9
  • 1. MongoDB 簡介 MongoDB是一個可擴展的高性能,開源,模式自由,面向文檔的NoSQL,基于分布式文...
    rhlp閱讀 1,141評論 0 3
  • NoSql數(shù)據(jù)庫優(yōu)缺點 在優(yōu)勢方面主要體現(xiàn)在下面幾點: 簡單的擴展 快速的讀寫 低廉的成本 靈活的數(shù)據(jù)模型 在不足...
    dreamer_lk閱讀 2,776評論 0 6
  • **2014真題Directions:Read the following text. Choose the be...
    又是夜半驚坐起閱讀 9,917評論 0 23