CouchDb一个具有多个视图的设计文档,或多个具有一个视图的设计文档

CouchDb一个具有多个视图的设计文档,或多个具有一个视图的设计文档,couchdb,Couchdb,我理解在同一设计文档中保留多个视图的缺点。如果更新设计文档,它将从头开始重建所有索引。在同一设计文档中保留多个视图的优点是什么 如果更新设计文档,它将从头开始重建所有索引 不是从零开始的。根据我的经验和我所读到的内容,我知道每个视图文件都是根据其定义的散列来命名的。 因此,当修改设计文档时,每个视图都会更新,您是对的,但是如果它们的定义和数据都没有更改,则更新会立即进行。 为了更进一步,如果修改视图定义,然后将其更改回原始定义,则将使用旧文件,以便不会从头开始计算视图 问题在别处。每次查询视图时

我理解在同一设计文档中保留多个视图的缺点。如果更新设计文档,它将从头开始重建所有索引。在同一设计文档中保留多个视图的优点是什么

如果更新设计文档,它将从头开始重建所有索引

不是从零开始的。根据我的经验和我所读到的内容,我知道每个视图文件都是根据其定义的散列来命名的。 因此,当修改设计文档时,每个视图都会更新,您是对的,但是如果它们的定义和数据都没有更改,则更新会立即进行。 为了更进一步,如果修改视图定义,然后将其更改回原始定义,则将使用旧文件,以便不会从头开始计算视图

问题在别处。每次查询视图时,都会更新所有视图。根据我的经验,当您同时拥有“小”视图(每个文档很少发射,小键,很少或没有值)和“大”视图时,这可能是一个问题。即使您只需要小视图的结果(例如,为了浏览数据),也必须等待完成大视图计算

在同一设计文档中保留多个视图的优点是什么

这样做的主要优点是视图是同一个“应用程序”的一部分。 无论它是真正的Web应用程序还是HTTP API,您都可以通过它拥有一组一致的URI

另一个优点,即我前面提到的缺点中的“半满玻璃”部分,是视图更新得更频繁,因此需要一点一点地计算。因此,在查询视图时,更新速度更快的可能性更大