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:解釋規則
- MongoDB乾貨系列2-MongoDB執行計劃分析詳解(3)MongoDB
- MongoDB乾貨系列2-MongoDB執行計劃分析詳解(2)MongoDB
- MongoDB乾貨系列2-MongoDB執行計劃分析詳解(1)MongoDB
- MySQL explain執行計劃詳細解釋MySqlAI
- 配置oracle 解釋執行計劃--explain planOracleAI
- MongoDb學習之Explain執行計劃MongoDBAI
- 執行計劃裡statistics資料的解釋
- 執行計劃詳解
- Explain執行計劃詳解AI
- Oracle執行計劃詳解Oracle
- MSSQLSERVER執行計劃詳解SQLServer
- mongodb 常見運維監控和執行計劃MongoDB運維
- 執行計劃-1:獲取執行計劃
- 執行計劃出現BITMAP CONVERSION TO ROWIDS的解釋!
- MySQL Explain執行計劃 - 詳解MySqlAI
- mysql explain 執行計劃詳解MySqlAI
- MySQL執行計劃EXPLAIN詳解MySqlAI
- sql的執行計劃 詳解SQL
- 執行計劃
- Oracle 通過註釋改變執行計劃Oracle
- 分析執行計劃優化SQLORACLE的執行計劃(轉)優化SQLOracle
- oracle sqlprofile 固定執行計劃,並遷移執行計劃OracleSQL
- 【sql調優之執行計劃】獲取執行計劃SQL
- SYBASE執行計劃
- MySQL 執行計劃MySql
- MySQL執行計劃MySql
- sql 執行計劃SQL
- ORACLE執行計劃Oracle
- 【執行計劃】Oracle獲取執行計劃的幾種方法Oracle
- 【Oracle】-【索引-HINT,執行計劃】-帶HINT的索引執行計劃Oracle索引
- 分析執行計劃最佳化SQLORACLE的執行計劃(轉)SQLOracle
- MongoDB檢視執行計劃方法及相關欄位說明MongoDB
- 萬字長文詳解HiveSQL執行計劃HiveSQL
- 【PG執行計劃】Postgresql資料庫執行計劃統計資訊簡述SQL資料庫
- 執行計劃__獲取方法、檢視執行順序、統計資訊詳解
- oracle 固定執行計劃Oracle
- Oracle sql執行計劃OracleSQL