我們正在使用Mongodb作爲我們的應用程序 我收到了有關在集合上創建索引的查詢。下面如何爲在某些字段上排序的查詢創建索引?
,首先是我的查詢,將做一個找到數據庫並返回數據
db.mycollection.find({ symbol: "UGHNG", date: "2013-11-08", mainsymbol: "HIJ" }).sort({ "price": 1,"surv": 1}).pretty()
正如你可以從上面的查詢看到,有哪些是用於兩個領域的價格和監測網排序僅用於。
什麼是對上述
創建索引創建複合指數,其中包括上述查詢的每一個領域的最佳途徑。
db.mycollection.ensureIndex({"symbol":1,"date":1,"mainsymbol":1,"price":1,"surv":1},{"unique" : false})
OR
創建2個單獨的索引和一個複方指標如下圖所示,以服務上面的查詢
db.mycollection.ensureIndex({"price" : 1}, {"unique" : false})
db.mycollection.ensureIndex({"surv" : 1}, {"unique" : true})
db.mycollection.ensureIndex({"symbol":1,"date":1,"mainsymbol":1},{"unique" : false})
請分享你的看法是什麼在處理這方面的最佳做法在所有方面(RAM大小,查詢性能)
它仍然只有一個索引每個查詢,直到https://jira.mongodb.org/browse/SERVER-3071所以我沒有看到第二個選項 – Sammaye