【MongoDB学习笔记24】MongoDB的explain和hint函数
发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,一、explain函数explain函数可以提供大量查询相关的信息,如果是慢查询,它最重要的诊断工具。例如:在有索引的字段上查询:> db.post.find({"loc.city":"ny"}).e
千家信息网最后更新 2024年11月18日【MongoDB学习笔记24】MongoDB的explain和hint函数
一、explain函数
explain函数可以提供大量查询相关的信息,如果是慢查询,它最重要的诊断工具。例如:
在有索引的字段上查询:
> db.post.find({"loc.city":"ny"}).explain() { "cursor" : "BtreeCursor loc.city_1", "isMultiKey" : false, "n" : 0, "nscannedObjects" : 0, "nscanned" : 0, "nscannedObjectsAllPlans" : 0, "nscannedAllPlans" : 0, "scanAndOrder" : false, "indexOnly" : false, "nYields" : 0, "nChunkSkips" : 0, "millis" : 1, "indexBounds" : { "loc.city" : [ [ "ny", "ny" ] ] }, "server" : "localhost.localdomain:27017", "filterSet" : false } >
在没有索引的的字段上查询:
> db.post.find({"name":"joe"}).explain() { "cursor" : "BasicCursor", "isMultiKey" : false, "n" : 2, "nscannedObjects" : 15, "nscanned" : 15, "nscannedObjectsAllPlans" : 15, "nscannedAllPlans" : 15, "scanAndOrder" : false, "indexOnly" : false, "nYields" : 0, "nChunkSkips" : 0, "millis" : 0, "server" : "localhost.localdomain:27017", "filterSet" : false } >
对比上面两个查询,对explain结果中的字段的解释:
"cursor":"BasicCursor"表示本次查询没有使用索引;"BtreeCursor loc.city_1 "表示使用了loc.city上的索引;
"isMultikey"表示是否使用了多键索引;
"n":本次查询返回的文档数量;
"nscannedObjects":表示按照索引指针去磁盘上实际查找实际文档的次数;
"nscanned":如果没有索引,这个数字就是查找过的索引条目数量;
"scanAndOrder":是否对结果集进行了排序;
"indexOnly":是否利用索引就能完成索引;
"nYields":如果在查询的过程中有写操作,查询就会暂停;这个字段代表在查询中因写操作而暂停的次数;
" millis":本次查询花费的次数,数字越小说明查询的效率越高;
"indexBounds":这个字段描述索引的使用情况,给出索引遍历的范围。
"filterSet" : 是否使用和索引过滤;
二、hint函数
如果发现MongoDB使用的索引和自己企望的索引不一致。,可以使用hit函数强制MongoDB使用特定的索引。例如
>db.users.find({"age":1,"username":/.*/}).hint({"username":1,"age":1})
索引
查询
字段
函数
次数
实际
数字
数量
文档
结果
重要
一致
两个
代表
信息
就是
工具
情况
指针
效率
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
苹果服务器系统u盘安装
学什么软件开发最好上手
做好网络安全数据安全工作
手机游戏连不上服务器
适合做家庭服务器的cpu
裴志勇网络安全专家
互联网对科技创新的体现的例子
最小的软件开发人
性能测试网络安全专业
惠州安卓软件开发市场价
计算机软件开发职务名称
网络安全法53号令
软件开发日语的翻译
中药材显微图像数据库
mc服务器怎么刷钱
昆明南众软件开发公司电话
软件开发者哪家便宜
网络安全等级保护范围
基础地理时空数据库是什么
服务器假负载是什么
安恒数据库审计产品
网络安全哪年设立
金华巨客互联网科技有限公司
华为服务器合作伙伴名单
服务器不能复制
靠谱app软件开发价格
汽车网络安全就业方向及前景
数据库技术三级内容
王牌战争如何选择服务器
乱斗西游2服务器列表