mongo explain 查組合索引的使用情況

2021-08-14 03:45:24 字數 838 閱讀 7727

mongo 3.2版本之前,用:

db.olamitvplayoplog.find().explain()
mongo 3.2版本之後,用:

db.olamitvplayoplog.explain("executionstats").find()
老版本、大部分資料:db.collection.method().explain()

當前的api:db.collection.explain().method()

看結果中的 executionstages.inputstage.indexname 即可,若無此字段,表明查詢沒有使用到索引。

看 executionstages.inputstage.indexbounds 可以查索引的使用情況。

跟其它資料庫產品一樣,mongodb 也是有組合索引的,下面我們將在addr.city 和addr.state上建立組合索引。當建立組合索引時,字段後面的1 表示公升序,-1 表示降序,是用1 還是用-1 主要是跟排序的時候或指定範圍內查詢 的時候有關的。另外,公升序和降序的順序不同都會產生不同的索引

db.factories.ensureindex(  );

// 下面的查詢都用到了這個索引

db.factories.find( );

db.factories.find( );

db.factories.find().sort( );

db.factories.find().sort( )

//下面是沒用上索引的

db.factories.find( );

elasticsearch bool組合查詢

bool組合查詢 filter 過濾,不參與打分 must 如果有多個條件,這些條件都必須滿足 and與 should 如果有多個條件,滿足乙個或多個即可 or或 must not 和must相反,必須都不滿足條件才可以匹配到 非 布林查詢 與匹配其他查詢的布林組合的文件相匹配的查詢。bool查詢對...

mysql sql組合 詳解mysql 組合查詢

使用union 多數sql查詢都只包含乙個或多個表中返回資料的單條select語句。mysql也允許執行多個查詢 多條select語句 並將結果作為單個查詢結果集返回。這些組合查詢通常稱為並 union 有兩種情況需要使用組合查詢 在單個表查詢中從不同的表返回類似結構的資料 對單個表執行多個查詢,按...

通過Sql實現根據分組合併指定列內容的查詢

問題 最近在做乙個專案的時候,遇到這樣乙個要求,模擬要求如下 id sname 張三李四 劉六王五 要的結果是 id name 張三,李四 劉六,王五 即按id組查詢,並將相同的id對應sname內容通過逗號合併 解決思路 通過傳遞不同的id給函式,查詢出組合的sname並返回。建立測試表 if n...