有没有办法减少除列表函数之外的大型CouchDB连接?

时间:2017-01-04 14:54:33

标签: couchdb

当我们在CouchDB中需要服务器端查询时,使用列表函数可能会有所不同。但问题出在这里:假设我们需要来自两种不同文档类型的字段。我们可以使用以下查询获取这两个文档:

  views: {
    myview: {
      map: function(doc){
        if (doc.type === 'mytype') {
          emit([doc.mykey, 0], {
            field1: doc.field1
          });
          return emit([doc.mykey, 1], {
            _id: doc.theLinkedDoc
          });
        }
      }
    }
  }

如果我们在没有include_docs=true参数的情况下调用此视图函数,则会立即获取该参数。如果我们添加include_docs=true,获取结果会持续10秒左右(因为文档相对较大)

另一方面,我们可以使用list函数来减少结果。我们需要include_docs=true才能创建有用的列表函数。

我的期望是,由于list函数的总体结果很小(就像我们在没有include_docs=true选项的情况下获取原始视图一样很小),应该立即获取此结果 plus list函数的执行时间(比如2秒),但list函数的整体结果是在大约20或30秒内获取的。

是否有任何技术可以有效地减少这种查询?

0 个答案:

没有答案