加快我的云查询

我想知道是否有人可以在我的云查询下面提供一些build议。 现在花费20秒以上的时间来处理50,000文件的数据库 – 我怀疑我的速度可能会比这更快。

查询的目的是查找所有具有“searchCode”属性的文档,并将其与特定值加上特定ID的进一步列表相匹配。

searchCode和_id都被索引 – 为什么我的查询需要这么长时间/我能做些什么来加快速度?

mydb.find({selector: {"$or":[{"searchCode": searchCode},{"_id":{"$in":idList}}]}}, function (err, result) { if(!err){ fulfill(result.docs); } else{ console.error(err); } }); 

谢谢,詹姆斯

您可以尝试分别调用这些查询

  • find我的文件在哪里searchCode ='一些价值'
  • find我的文件的ID与ID列表匹配

第一个可以通过find调用和查询来实现:

 { selector: {"searchCode": searchCode} } 

第二个可以通过点击数据库的_all_docs端点来实现,将ID列表作为keys参数传入

 GET /db/_all_docs?keys=["a","b","c"] 

您可能会发现并行运行这两个请求并合并结果可以获得更好的性能。