MongoDB警告不使用索引的查询

Ric*_*ich 3 indexing mongodb

我有一个模糊的内存,如果查询使用未编入索引的字段,MongoDB将向其日志输出一条消息,但是我无法在本地重现(使用一个公认的小数据集),也没有找到任何文档.

我想象的东西还是有这样的特征?如果是,是否有人可以链接到文档?

AD7*_*six 5

您需要打开分析以从mongodb获取有意义的日志 - 将分析设置为1就足够了.

然后,您可以使用日志中的任意数量的搜索来查找未编制索引的查询,例如:

grep nscanned /path/to/mongodb.log | grep -v "nscanned:1 " | grep -v "nscanned:0 "
Run Code Online (Sandbox Code Playgroud)

原始推文,我发现了这个:https://twitter.com/#!/ eonwhite/status21498320559

您可以在mongo的文档中看到有关日志输出含义的更多信息

如果nscanned远高于nredurned,则数据库正在扫描许多对象以查找目标对象.考虑创建一个索引来改善这一点.