带字段筛选的CouchDB选择器查询

带字段筛选的CouchDB选择器查询,couchdb,cloudant,Couchdb,Cloudant,我们在CouchDB中有一个巨大的数据库,我们正在使用以下选择器查询对此数据库进行大量的查找: { "selector":{ "_id":"123456789" }, "fields":[ "profile.name", "settings", "preferences" ] } 此查询在重载情况下变得非常慢,响应时间缩短到60秒以上,即使选择器是索引的_id 我的问题是: 是否由于字段筛选,查询速

我们在CouchDB中有一个巨大的数据库,我们正在使用以下选择器查询对此数据库进行大量的查找:

{
    "selector":{
        "_id":"123456789"
    },
    "fields":[
        "profile.name",
        "settings",
        "preferences"
    ]
}
此查询在重载情况下变得非常慢,响应时间缩短到60秒以上,即使选择器是索引的_id

我的问题是: 是否由于字段筛选,查询速度变慢?
我是否应该将此调用更改为GET/db/123456789,然后过滤客户端中的字段以使其具有性能?

您是否尝试过不进行字段过滤?我认为这会很慢,因为重建索引是在读取而不是写入时进行的。这通常是导致CouchDB中查询速度慢的原因,但在不了解更多读/写模式的情况下,这只是一个猜测。@AlexisCôté我还没有在没有字段筛选的情况下尝试过它,只是想在执行之前收集一些证据。@Flimzy CouchDB是否会在每次读取操作时重建索引,即使我是针对_id的查询?读写操作比率几乎为100:1。读操作不仅仅是写操作,它将在文档自上次读取以来发生任何更改时重新构建索引,即使对于
\u id