网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

怎么理解mongodb执行计划

本篇内容介绍了“怎么理解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

“怎么理解mongodb执行计划”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


本文题目:怎么理解mongodb执行计划
分享网址:http://bjjierui.cn/article/gdgohs.html

其他资讯