CouchDB是否共享多个视图使用的地图功能?

时间:2019-02-05 16:35:42

标签: couchdb

CouchDB的文档说,它支持具有相同映射功能但不同归约功能的多个视图。如果两个视图都在同一个设计文档中,则map函数将只计算一次。

这是正确的吗?数据库是否会比较JavaScript地图功能的文本以确定是否共享地图?

1 个答案:

答案 0 :(得分:2)

CouchDB本身不执行此操作。 query server是否执行是实现细节。从理论上讲,查询服务器可以为将来的会话缓存功能,其好处类似于您所描述的。

在实践中,我预计对于大多数解释型语言(例如javascript),性能提升将是微不足道的(因为执行已被批处理),因此在一般情况下可能不值得。对于某些工作负载,您可能需要编写自己的查询服务器,这可能是值得的。

如果将查询服务器用于已编译的语言(C,Java,Go等),则缓存已编译的工件以供重用可能很有意义。