MongoDB查询分析函数有什么,如何应用
Admin 2022-08-31 群英技术资讯 708 次浏览
MongoDB 查询分析可以确保我们所建立的索引是否有效,是查询语句性能分析的重要工具。
MongoDB 查询分析常用函数有:explain() 和 hint()。
explain 操作提供了查询信息,使用索引及查询统计等。有利于我们对索引的优化。
接下来我们在 users 集合中创建 gender 和 user_name 的索引:
>db.users.ensureIndex({gender:1,user_name:1})
现在在查询语句中使用 explain :
>db.users.find({gender:"M"},{user_name:1,_id:0}).explain()
以上的 explain() 查询返回如下结果:
{ "cursor" : "BtreeCursor gender_1_user_name_1", "isMultiKey" : false, "n" : 1, "nscannedObjects" : 0, "nscanned" : 1, "nscannedObjectsAllPlans" : 0, "nscannedAllPlans" : 1, "scanAndOrder" : false, "indexOnly" : true, "nYields" : 0, "nChunkSkips" : 0, "millis" : 0, "indexBounds" : { "gender" : [ [ "M", "M" ] ], "user_name" : [ [ { "$minElement" : 1 }, { "$maxElement" : 1 } ] ] } }
现在,我们看看这个结果集的字段:
虽然MongoDB查询优化器一般工作的很不错,但是也可以使用 hint 来强制 MongoDB 使用一个指定的索引。
这种方法某些情形下会提升性能。 一个有索引的 collection 并且执行一个多字段的查询(一些字段已经索引了)。
如下查询实例指定了使用 gender 和 user_name 索引字段来查询:
>db.users.find({gender:"M"},{user_name:1,_id:0}).hint({gender:1,user_name:1})
可以使用 explain() 函数来分析以上查询:
>db.users.find({gender:"M"},{user_name:1,_id:0}).hint({gender:1,user_name:1}).explain()
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
MongoDB中find()函数返回一个游标,客户端通过对游标进行一些设置就能对查询结果进行有效地控制,如可以限制查询得到的结果数量、跳过部分结果、或对结果集按任意键进行排序等!这篇文章主要介绍了MongoDB中的游标,有需要的朋友们可以参考借鉴,下面来一起看看吧。
MongoDB是一个基于分布式文件存储的数据库,也是现在比较受欢迎的数据库之一,这篇文章主要给大家介绍的关于MongoDB优化的内容,感兴趣的朋友就跟随小编一起来了解吧。
mongodb数据库是可以做缓存的,MoongoDB特点是高性能、易部署、易使用,存储数据非常方便。MongoDB适用于单表数据操作、完整性要求不高的系统使用。
MongoDB命令都有哪些,基本作用和用法是什么?如果你正在学习MongoDB数据库,那么这篇关于MongoDB命令集合的文章你一定不能错过,这对你的学习有非常大的帮助。想要了解详细内容的就请看看小编整理的以下资料吧!
这篇文章主要给大家分享一下MongoDB副本集是如何搭建的,以下是具体搭建过程,有一定的借鉴价值,有需要的朋友可以参考参考,接下来我们就来一起看看MongoDB副本集搭建过程。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008