我想弄清楚这两者之间的权衡.
似乎使用一个具有多个视图的设计文档很快就会更新,因为在编制索引时,每个文档都会在一次传递中传递到每个视图中.
但是,如果我在设计文档中更改视图,则需要进行权衡,所有视图都需要更新.
这看起来是否正确?还有什么人可以增加这种理解吗?
更多细节信息可以在这里找到:
视图被组织到设计文档中.从理论上讲,您可以在数据库中拥有任意数量的设计文档,并在单个设计文档中拥有所需的多个视图.从理论上讲,每个视图可以为每个文档发出任意多个b树节点,并且你的map/reduce代码可以是任意复杂的.但请记住:
同一设计文档中的所有视图都被编入索引; 更改,添加或删除任何视图都需要重新编制索引
在视图中每个文档有许多发出可能会降低性能(但比将每个发射放在自己的视图中稍微高一些)
复杂的地图和减少代码会降低性能
作为旁注,CouchDB和Cloudant在更新视图的时间上有所不同: