mongodb執行計劃解釋
====Mongodb 併發批次kill session =============
併發、批次kill session
1、將查詢時間超過1000s的所有session kill掉
db.currentOp().inprog.forEach(function(item){if(item.secs_running > 1000 && item.op == "query")db.killOp(item.opid)})
2、將所有包含集合jack.bear查詢kill掉
db.currentOp().inprog.forEach(function(item){if(item.ns == "jack.bear" && item.op == "query")db.killOp(item.opid)})
3、將滿足item.op=="query" && item.secs_running >60 && item.ns=="jack.bear"這3個條件的操作kill掉
db.currentOp().inprog.forEach(function(item){if(item.waitingForLock){var lock_info = item["opid"];if(item.op=="query" && item.secs_running >60 && item.ns=="cswuyg.cswuyg"){db.killOp(item.opid)}}})
4、將滿足item.op == "query" && item.secs_running > 1000這2個條件的操作kill掉
db.currentOp().inprog.forEach(function(item) {
var lock_info = item["opid"];
if (item.op == "query" && item.secs_running > 1000) {
print("kill", item.opid);
db.killOp(item.opid)
}
})
################# MongoDB 執行計劃################
Stage 分類
COLLSCAN:掃描整個集合 IXSCAN:索引掃描 FETCH:根據索引去檢索選擇document
SHARD_MERGE:將各個分片返回資料進行merge
SORT:表明在記憶體中進行了排序(與老版本的scanAndOrder:true一致)
LIMIT:使用limit限制返回數
SKIP:使用skip進行跳過 IDHACK:針對_id進行查
SHARDING_FILTER:透過mongos對分片資料進行查詢
COUNT:利用db.coll.explain().count()之類進行count
COUNTSCAN:count不使用用Index進行count時的stage返回
COUNT_SCAN:count使用了Index進行count時的stage返回 SUBPLA:未使用到索引的$or查詢的stage返回
TEXT:使用全文索引進行查詢時候的stage返回 PROJECTION:限定返回欄位時候stage的返回
=========重建索引=======
重建索引:
db.tableName.dropIndex("indexName")
db.tableName.ensureIndex({ "key1" : 1 ,"key2":1},{ "name" : "indexName" },{background:true})
db.COLLECTION_NAME.ensureIndex({"uuid":-1},{background:true})
db.COLLECTION_NAME.getIndexes()
==檢視執行計劃===
db.collection_name.find({}).explain(true)
find{} 裡面要設定具體的查詢條件,才可以查到精確的執行計劃
MongoDB 檢視執行計劃時,最理想狀態:--20180604
nReturned=totalDocsExamined=totalKeysExamined
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28211342/viewspace-2213163/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 執行計劃-3:解釋規則
- MySQL explain執行計劃詳細解釋MySqlAI
- MongoDb學習之Explain執行計劃MongoDBAI
- Explain執行計劃詳解AI
- mongodb 常見運維監控和執行計劃MongoDB運維
- 執行計劃-1:獲取執行計劃
- mysql explain 執行計劃詳解MySqlAI
- MySQL Explain執行計劃 - 詳解MySqlAI
- Oracle 通過註釋改變執行計劃Oracle
- 分析執行計劃優化SQLORACLE的執行計劃(轉)優化SQLOracle
- MySQL執行計劃MySql
- SYBASE執行計劃
- MySQL 執行計劃MySql
- 【執行計劃】Oracle獲取執行計劃的幾種方法Oracle
- MySQL執行計劃解析MySql
- mysql explain 執行計劃MySqlAI
- explain執行計劃分析AI
- mysql執行計劃explainMySqlAI
- oracle 固定執行計劃Oracle
- Oracle sql執行計劃OracleSQL
- 執行計劃執行步驟原則
- 萬字長文詳解HiveSQL執行計劃HiveSQL
- Hive底層原理:explain執行計劃詳解HiveAI
- 【PG執行計劃】Postgresql資料庫執行計劃統計資訊簡述SQL資料庫
- MySQL調優篇 | EXPLAIN執行計劃解讀(4)MySqlAI
- 檢視 OceanBase 執行計劃
- MySQL執行計劃解析(四)MySql
- 讀懂MySQL執行計劃MySql
- PostgreSQL執行計劃變化SQL
- explain 查詢執行計劃AI
- iPad可以執行PS了!Photoshop CC for iPad計劃 2019年釋出iPad
- [20190111]執行計劃bitmap and.txt
- 十六、Mysql之Explain執行計劃MySqlAI
- SqlServer的執行計劃如何分析?SQLServer
- 柱狀圖與執行計劃
- DB2執行計劃分析DB2
- Calcite執行計劃最佳化
- Oracle-繫結執行計劃Oracle