Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB的性能即使在下降了一个指数后仍然有所提高_Mongodb_Mongodb Query - Fatal编程技术网

MongoDB的性能即使在下降了一个指数后仍然有所提高

MongoDB的性能即使在下降了一个指数后仍然有所提高,mongodb,mongodb-query,Mongodb,Mongodb Query,我有一个集合(800k个文档)和一些索引。这些天我发现其中一个查询非常慢(10秒)。我尝试了db.my_collection.find({…}).explain(),发现它使用了索引。我试图创建另一个索引并重新检查我的查询。它运行得非常快(0.01秒),但通过explain我可以看到它仍在使用该索引(而不是使用我刚刚创建的新索引) 然后我放弃了新的索引。奇怪的是,我的查询仍然非常快(0.01秒)。通过explain重新检查,仍然使用该索引 MongoDB是否以某种方式“记住”了我删除的索引?或者

我有一个集合(800k个文档)和一些索引。这些天我发现其中一个查询非常慢(10秒)。我尝试了
db.my_collection.find({…}).explain()
,发现它使用了索引。我试图创建另一个索引并重新检查我的查询。它运行得非常快(0.01秒),但通过
explain
我可以看到它仍在使用该索引(而不是使用我刚刚创建的新索引)

然后我放弃了新的索引。奇怪的是,我的查询仍然非常快(0.01秒)。通过
explain
重新检查,仍然使用该索引

MongoDB是否以某种方式“记住”了我删除的索引?或者是MongoDB内部发生了什么事情来跟踪我在内存中查询的内容,尽管我删除了索引

我是MongoDB的新手,希望您能给我回复


顺便说一句,我使用的是MongoDB Node.js驱动程序。

如果填充查询所需的索引工作集很大,则查询可能没有被分页。然而,我相信这种情况不太可能发生,因为在创建这个新指数之前,你已经注意到了速度的缓慢。这是什么MongoDB版本?@Sammaye我使用的是2.6.7