2011-05-30 29 views
1

我正在用mongoDB测试一下。我创建了大量数据的数据库(约500万个文档)。当我开始查询一个不存在的密钥时,它会花费很多时间。我试图停止查询,但db.currentOp()不显示操作,所以我不知道如何停止查询。查询大规模mongoDB数据库中不存在的密钥

干杯 斯文

+1

你有没有创建索引?另外,如果你正在从冷启动开始工作,Mongo需要将数据从磁盘加载到RAM中,这需要一些时间(ESP。如果由于没有索引的查询而运行表扫描)。 – 2011-05-30 10:41:52

+0

Hi Sven - 我同意与Brendan一样,听起来您可能会对未编入索引的字段进行查询,因此它正在扫描所有5M文档。如果您针对'_id'值运行find()会发生什么情况,是否还需要很长时间?你能发布一些关于你的数据模型和查询的信息吗? – 2011-05-30 11:00:26

+0

嘿Thynks快速回答。问题是关于没有索引或现有的键。我们开始创建一个数据模型,所以我们没有一个确切的想法 - 但是当我测试一些查询时,发生了“无尽的”搜索 - 我只想知道是否有可能停止这样的查询意外。我希望现在更容易理解。干杯斯文 – Thyven 2011-05-30 12:15:15

回答