MongoDB实战-使用EXPLAIN分析慢查询

本文介绍了如何使用MongoDB的EXPLAIN工具分析慢查询,重点关注查询优化和索引使用。通过示例解释了全集合扫描的问题以及如何通过添加索引来改善查询性能,强调了nReturned和totalDocsExamined的比值对于评估查询效率的重要性。
摘要由CSDN通过智能技术生成

    除了MongoDB的剖析器,可以很方便地找到慢查询。但是要知道这些查询为什么慢会更麻烦一些,因为这个过程中可能还要求有点“侦查工作”。正如前面所说,慢查询的原因是多种多样的。走运的话,加个索引就能解决慢查询。在更复杂的情况下,可能不得不重新安排索引、重建数据模型、或者升级硬件。

     最简单的情况里,问题的根本原因是缺少索引,索引不当或者查询不理想。通过剖析器定位了慢查询后,可以在慢查询上使用explain()来确认原因。explain的使用方式是在执行语句后面加上explain。3.x版本后的explain用法,explain(true)代表allPlansExecution mode,传入false代表queryPlanner mode.使用.explain(true).modeName可以显示具体的操作模式。

db.stock.find({}).sort({close:-1}).limit(1).explain(true)

执行结果如下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值