gpt4 book ai didi

CouchDB - 参数和 View - 幕后发生了什么,它是否比临时 View 更快/更快?

转载 作者:行者123 更新时间:2023-12-02 15:19:19 28 4
gpt4 key购买 nike

考虑这三个文档...

[
{
_id: "...",
_rev: "...",
title: "Foo",
body: "..."
},
{
_id: "...",
_rev: "...",
title: "Bar",
body: "..."
},
{
_id: "...",
_rev: "...",
title: "Hello World!",
body: "..."
},
]

这个 View ...

byTitle: {
map: function (document)
{
emit(document.title, document);
}
}

当我查询 View 时,幕后发生了什么?...

GET /database/_design/posts/_view/byTitle?key="Foo"


我最近问了一些关于 View 的问题...关于我所说的“动态参数”的问题...本质上我想知道如何做相当于的事情SELECT ... WHERE 字段 = 参数

所有答案都引导我使用临时 View ,这非常慢,不应该在生产中使用。所以我的第二个问题是......上述按标题查询的方法适合在生产中使用吗?或者我是否强制 CouchDB 在性能方面做出难以形容的恐怖?...我本质上是在做与使用临时 View 相同的事情吗?

最佳答案

我认为您误解了一些答案。您可以使用临时 View 来测试各种映射/归约功能。当您对代码感到满意时,您应该将其放入设计文档中并使用它进行查询。

临时 View 速度很慢,因为索引是为每个查询构建和删除的。将其放入设计文档中,告诉 CouchDB 不要删除索引并保持更新(这是在查询时完成的)。

所以

GET /database/_design/posts/_view/byTitle?key="Foo"

是按标题查询最快的方法,因为它已建立索引。

作为旁注:您可以使用

byTitle: {
map: function (document)
{
emit(document.title, null);
}
}

query with include_docs=true以节省一些磁盘空间。

关于CouchDB - 参数和 View - 幕后发生了什么,它是否比临时 View 更快/更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5599989/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com