博客
关于我
MongoDB 性能调优
阅读量:797 次
发布时间:2023-02-09

本文共 832 字,大约阅读时间需要 2 分钟。

一、执行计划

MongoDB 提供了一个 explain 命令,允许我们深入了解系统如何处理查询请求。通过使用 explain 命令,我们可以详细观察系统如何利用索引来加快查询速度,并基于这些信息进行索引的针对性优化。

以下是使用 explain 命令时的示例:

> db.t5.ensureIndex({name:1})> db.t5.ensureIndex({age:1})> db.t5.find({age:{$gt:45}}, {name:1}).explain(){    "cursor" : "BtreeCursor age_1",    "nscanned" : 0,    "nscannedObjects" : 0,    "n" : 0,    "millis" : 0,    "nYields" : 0,    "nChunkSkips" : 0,    "isMultiKey" : false,    "indexOnly" : false,    "indexBounds" : {        "age" : [            [45, 1.7976931348623157e+308]        ]    }}

字段说明:

  • cursor:表示使用了哪一种游标。
  • nscanned:表示索引扫描的总次数。
  • nscannedObjects:表示扫描过的文档总数。
  • n:表示执行查询的总次数。
  • millis:表示查询的总时间(单位:毫秒)。
  • nYields:表示在等待I/O操作期间,查询线程自旋的次数。
  • nChunkSkips:表示因为索引不足而跳过的块的数量。
  • isMultiKey:表示索引是否是多键索引。
  • indexOnly:表示查询是否只使用了索引。
  • indexBounds:表示查询的范围限制。

通过 explain 命令,我们可以清晰地了解 MongoDB 如何处理查询请求,从而有助于对索引的选择和优化。

转载地址:http://qcffk.baihongyu.com/

你可能感兴趣的文章
MFC模态对话框和非模态对话框
查看>>
mha高可用
查看>>
Miaoo朋友圈程序全完整版源码
查看>>
Microsoft Security Updates API 使用教程
查看>>
Milesight VPN server.js 任意文件读取漏洞(CVE-2023-23907)
查看>>
MyBatis学习总结(6)——调用存储过程
查看>>
Mock.js 的语法规范学习
查看>>
mockcpp & testngpp在2010.7~11月的改进
查看>>
Mock在接口测试中的实际应用
查看>>
Mock模拟测试实战
查看>>
Modbus RTU串口通信实验
查看>>
Modbus RTU和Modbus TCP之间的区别
查看>>
Model-Based Reinforcement Learning(基于模型的强化学习)详解-ChatGPT4o作答
查看>>
Model-Free Reinforcement Learning(无模型强化学习)详解-ChatGPT4o作答
查看>>
modprobe
查看>>
module 'queue' has no attribute 'Queue'解决
查看>>
module 'requests' has no attribute 'get' python
查看>>
module ‘@babel/runtime/helpers/interopRequireDefault.js‘ is not defined报错解决方法
查看>>
ModuleNotFoundError: No module named ‘_lzma‘
查看>>
MogoTemplate基本入门(Mongodb数据库基本增删改查)
查看>>