MongoDB中索引的一點記錄

2021-09-04 02:19:01 字數 732 閱讀 3834

在mongodb中使用了乙個聯合索引,發現了一些問題,記錄一下,方便以後查閱!

首先來看表的說明:

注意高亮出的索引:

prop.lis_sta_1_prop.is_recom_-1_prop.re_t_-1_prop.post_t_-1,這4個字段分別是

帖子狀態、推薦狀態,推薦時間,發貼時間

測試了一下,有以下結果

可以使用上面索引的查詢:

db.post.find(}).sort().explain();

db.post.find().sort().explain();

db.post.find(}).sort().limit(20).explain();

不可以使用上面索引的查詢:

所以在這裡說明幾點:

1)、盡量避免以靈活的引數的形式傳遞排序規則,如果資料比較多的話,卻沒有建立相關索引,容易產生問題。

2)、修改了排序規則,要檢查索引,通過explain來測試一下。

3)、使用已有索引過濾掉盡量多的資料再排序,同時盡力保留limit限制,這個很重要。

關於MongoDB的一點總結

今天推送引擎註冊在dubbo上的服務總是自動會關閉掉,查了一下發現是system.in.read 的原因,導致自動關閉。但是還是不太明白,別人執行spring的時候,只要啟動以後就不會自動關閉,而我的spring剛啟動就關閉了,找了半天都沒有解決,沒辦法,只好用了最笨的方法 while true 而...

索引的一點總結

1.索引是一棵b樹 3級索引能容納400萬行資料,4級索引能容納40億行資料。2.表的組織方式有兩種 堆或b樹。當在表上建立乙個聚集索引時,表就組織為乙個b樹 否則就組織為乙個堆。3.聚集索引約佔1 的表大小.非聚集索引佔30 40 表大小,曾見過非聚集索引和資料表一樣大或更大.4.索引碎片 完全沒...

索引的一點總結

1.索引是一棵b樹 3級索引能容納400萬行資料,4級索引能容納40億行資料。2.表的組織方式有兩種 堆或b樹。當在表上建立乙個聚集索引時,表就組織為乙個b樹 否則就組織為乙個堆。3.聚集索引約佔1 的表大小.非聚集索引佔30 40 表大小,曾見過非聚集索引和資料表一樣大或更大.4.索引碎片 完全沒...