我使用过mongodb 1.8.1。我收集的内容包含超过180万条记录。在此集合中,所有记录都是简单对象,而不是嵌套对象或数组
如下所示
{ name : "xyz" , "id" : 123 ,"a" : "na" , "c" : "in" , "cmp" : "pq" , "ttl" : "sd"}
所有记录都是这样的。
在这个集合中,有时会触发更多5个查询,其中2个是包含在其中的简单查询,另一个是使用索引的简单查询。
另外两个是组查询,其中条件字段在索引中,一个包含存在。
另一个具有适当条件的1个不同查询,也是索引。
查询消息的顺序是第一个qroup查询然后是1个简单查询然后是不同查询和最后一个简单查询。
因此数据加载缓慢。
如果这样的2 -3调用make,则它的加载非常低,有时会给出错误读取超时。
这些集合有超过1个索引。
答案 0 :(得分:1)
$ exists查询不使用索引(从1.9.1开始修复)
组命令使用mongodb的JS上下文,它在使用时被独占锁定。这将影响并发组查询的性能。正在开发一个新的聚合框架,应该有助于实现这一点(2.1以后)。监控https://jira.mongodb.org/browse/SERVER-447以获取进度。根据我的经验,像聚合应用程序那样做“组”通常更有效率。