我有一些带有一些索引的集合(800k docs)。这些天我发现其中一个查询非常慢(10秒)。我试过db.my_collection.find({...}).explain()
并发现它使用了一个索引。我试图创建另一个索引并重新检查我的查询。它运行得非常快(0.01秒)但是通过explain
我可以看到它仍在使用该索引(不使用我刚刚创建的新索引)。
然后我删除了新索引。对我来说很奇怪,我的查询仍然非常快(0.01秒)。 explain
重新检查它仍在使用该索引。
MongoDB以某种方式“记住”我删除的索引吗?或者在MongoDB中发生了什么事情来跟踪我在内存中查询的内容,即使在我删除索引之后也是如此。
我是MongoDB的新手,所以任何回复都会受到赞赏。
BTW,我正在使用MongoDB Node.js驱动程序。