MongoDB上的数据库范围查询有多贵?

时间:2010-12-30 11:51:33

标签: ruby mongodb heroku

我有一个包含用户对象的集合,每个用户对象都有一个唯一的ID和其他一些东西。这个集合可能有数百万条目。我的问题是查询是多么昂贵,需要300个UIDS列表,然后检查集合中存在哪些?

1 个答案:

答案 0 :(得分:0)

我认为这个问题#1有两部分:查询,#2:表现。

1:查询

使用$in clause可以轻松完成此操作。

2:表现

关于$in子句的事情是,从DB角度来看,只有一种逻辑方法可以做到这一点。它基本上会对你拥有的每个项目进行一次索引搜索。

现在,如果您遵循标准协议并将所有索引保存在RAM中,那么此查询可能会在一秒钟内完成。我有一些功能强大的服务器,拥有100万个数据库,而这种搜索100“UIDS”的时间约为500毫秒。

YMMV。您可以通过分块并运行多个同步查询来获得更好的性能,以确保您在服务器上获得多个线程。