MongoDB查询性能分析
explain()方法能够提供大量与查询相关的信息。对于速度比较慢的查询来说,它是最重要的性能分析工具之一。通过查看一个查询的explain()输出信息,可以知道查询使用了哪个索引,以及是如何使用的。对于任意查询,都可以在最后添加一个explain()调用(与调用sort()或者limit()一样,不过explain()必须放在最后)。
最常见的explain()输出有两种类型:使用索引的查询和没有使用索引的查询。其输出的信息可能如下:
“millis”表明了这个查询的执行时间。数字越小,则说明这个查询的效率越高。
“n”则表明了实际返回的文档数量。
“nscanned“描述了MongoDB在执行这个查询时搜索了多少文档。
”cursor“本查询返回值为”BasicCursor“则说明该查询未使用索引,所以才会搜索了所有的文档。如返回”BtreeCursor“则表示查询中使用了索引。
”isMultiKey“用于说明是否使用了多键索引。
”nYield“指本次查询暂停的次数。在查询期间,如果有与入请求需要处理,为了让写入请求能够顺利执行,查询会周期性的释放它的锁。
MongoDB查询性能分析相关推荐
- MongoDB查询性能分析—— explain 操作返回结果详解
MongoDB 提供 db.collection.explain(), cursort.explain() 及 explain 命令获取查询计划及查询计划执行统计信息. explain 结果将查询计划 ...
- MySQL简单查询性能分析
MySQL简单查询性能分析 建立如此结构的数据表,并插入110万条随机记录,进行查询性能测试. 插入110万条随机记录后,数据表的大小为102MB. 现在使用phpMyAdmin自带的SQL查询 ...
- ElasticSearch之查询性能分析
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力. [TOC] 提问 面对着这么一个庞然大物,我们除了代码API写的六 ...
- [MySQL]--查询性能分析工具-explain关键字
explain显示了MySQL如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. explain的使用方法很简单,只需要在select查询语句前面加上expl ...
- Es底层查询原理、数据结构、及性能分析
Elasticsearch是一个很火的分布式搜索系统,提供了非常强大而且易用的查询和分析能力,包括全文索引.模糊查询.多条件组合查询.地理位置查询等等,而且具有一定的分析聚合能力.因为其查询场景非 ...
- 数据切分——Mysql分区表的建立及性能分析
Mysql的安装方法可以参考: http://blog.csdn.net/jhq0113/article/details/43812895 Mysql分区表的介绍可以参考: http://blog.c ...
- MongoDB 分析查询性能
cursor.explain("executionStats")和 db.collection.explain("executionStats") 方法提供关于 ...
- 时间序列数据和MongoDB:第三部分 - 查询,分析和呈现时间序列数据
作者:Robert Walters 译者:刘东华 (Martin Liu) 在 时间序列数据和MongoDB中:第一部分 - 简介 我们回顾了您需要了解的关键问题,以了解数据库的查询访问模式.在 时间 ...
- mac mongodb可视化工具_「时序数据库」和MongoDB:第3部分-查询、分析和呈现
在<时间序列数据和MongoDB:第1部分-简介>中,我们回顾了理解数据库的查询访问模式需要询问的关键问题.在<时间序列数据和MongoDB:第2部分-模式设计最佳实践>中,我 ...
最新文章
- 全面讲述linux集群负载均衡
- PROC简单使用用例--VC连接ORACLE
- PageOffice实现js执行在线编辑时Word文档中的宏命令
- centos php配置mysql数据库_CentOS+Nginx+PHP+MySQL详细配置(图解)
- redis-server.exe redis.windows.conf 报错
- 小技巧:Chrome开发者工具里的Alt+单击
- 如何从SAP Fiori Launchpad里找到ABAP Development Tool的下载地址
- centos6.6 源码安装mysql5.5_CentOS6.x下源码安装MySQL5.5
- 【漫画】最近,老王又双叒get了CDN的新技能—可编程化敏捷开发
- LVS三种请求转发方式和八种调度算法简介
- netty实现简单时事通讯_简单的Java实现Netty进行通信
- AppList.json文件为空,主界面清缓存后加载后还正常显示
- c语言case两个变量的组合,我可以使用带有两个变量的case/switch语句吗?
- css表示屏幕宽度和高度
- Activity内部Handler引起内存泄露的原因分析
- mysql5.0查询表_Mysql5.0查询表结构 | 学步园
- Jersey框架入门学习
- 微信小程序开发 - 模板与配置
- go每日新闻--2021-01-16
- u盘提示需要格式化?怎么实现数据恢复?