草庐IT

nscanned

全部标签

MongoDB 查询优化

作为我当前的任务,我必须优化索引,以便我们的一些查询运行得更快。我读了这篇文章:http://emptysqua.re/blog/optimizing-mongodb-compound-indexes/正如这些人所建议的,我的最佳查询是:nscanned=nscannedObject=n好吧,我能够做到这一点。然而,问题是满足这个公式的查询比不满足这个公式的查询慢!这是我的解释输出:{"cursor":"BtreeCursorprevious_sticky_1","nscanned":65019,"nscannedObjects":65019,"n":65019,"millis":54

MongoDB 的结果与解释中的 n > nscanned 不一致

Mongo2.4.1,带仲裁器的2成员副本集我认为这是一个返回不一致结果的非常简单的查询:objects=db.collection.find({'field.id':my_id,'field1':None,'field2':'value'})我得到了77个对象,但集合中有248个对象与该查询匹配。我怀疑查询优化器正在做一些我不期望的事情。collection上的索引都不是稀疏的。在上述查询的.explain()中,我得到{cursor:'BtreeCursorfield.id_1',n:283,nscanned:77}为什么nscanned小于283?我还应该注意到,虽然77长度的结

mongodb - .explain() 中额外的 "nscanned"是从哪里来的?

我有一系列预订。每个文档都有这些字段:_id:ObjectID,client:ObjectID//Areferencetothe"owner"oftheservice.start:nr,endnr我插入15个虚拟文档(在客户端上具有相同的ID)。前五个从1开始到2结束,接下来的五个从3开始到4结束,最后五个从5开始到6结束。然后我创建以下索引:db.bookings.ensureIndex({client:1,start:1,end:1})对于这些查询:db.bookings.find({client:anID,start:{$gte:1}}).explain()db.bookings

node.js - 如何在 Mongoose 中找到nscanned?

有没有办法在mongoose中使用explain()。mongoose中db.collection.find().explain()的等效语句是什么(这适用于mongodb终端)?我在文档中找不到答案 最佳答案 不直接。但是,您可以做的是启用Mongoose的调试日志记录,以便您可以看到它正在使用的实际查询,然后将其复制到MongoDBshell中并在其上运行explain()。要将Mongoose的调试日志记录到控制台,请将以下内容添加到您的代码中:mongoose.set('debug',true);

MongoDB 警告查询未使用索引

我有一个模糊的内存,如果查询使用未索引的字段,MongoDB将向其日志输出一条消息,但是我无法在本地重现此消息(公认的小数据集),也没有找到任何文档.我是在想象事情还是有这样的功能?如果是,任何人都可以链接到文档吗? 最佳答案 您需要打开分析才能从mongodb获取有意义的日志-将分析设置为1就足够了。然后您可以在日志中使用任意数量的搜索来查找未索引的查询,例如:grepnscanned/path/to/mongodb.log|grep-v"nscanned:1"|grep-v"nscanned:0"我发现这件事的原始推文:http

performance - "nscanned"查询上的 "update"值非常高 - 似乎高于所有索引中所有条目的总和

我在偶尔的更新查询中得到非常高的“nscanned”数字,而“nscannedObjects”相对较低。我从mongodb日志中获取这些数字,作为慢速查询自动记录的一部分(这些更新需要100毫秒到500毫秒之间的任何时间)。更新后的集合有198K个项目,大小刚刚超过100MB。它有许多不同的字段(超过30个),以及这些字段及其组合的31个索引。这是来自MongoDB.log的完整条目-包括查询和结果:2014-09-22T11:55:22.507+0000[conn45755]updatemydatabase.mycollectionquery:{_id:ObjectId('53d13

mongodb - MongoDB : differences between "nscanned" and "nscannedObjects" 中的解释()

我无法在Mongodb的解释查询输出中得到“nscanned”和“nscannedObjects”之间的确切区别。开启MongoDBExplaindocumentation我可以阅读:nscannedNumberofitems(documentsorindexentries)examined.Itemsmightbeobjectsorindexkeys.Ifa"coveredindex"isinvolved,nscannedmaybehigherthannscannedObjects.nscannedObjectsNumberofdocumentsscanned.这两个字段有什么不同?

mongodb - MongoDB : differences between "nscanned" and "nscannedObjects" 中的解释()

我无法在Mongodb的解释查询输出中得到“nscanned”和“nscannedObjects”之间的确切区别。开启MongoDBExplaindocumentation我可以阅读:nscannedNumberofitems(documentsorindexentries)examined.Itemsmightbeobjectsorindexkeys.Ifa"coveredindex"isinvolved,nscannedmaybehigherthannscannedObjects.nscannedObjectsNumberofdocumentsscanned.这两个字段有什么不同?