首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >for向量场什么时候能为自己付出代价?

for向量场什么时候能为自己付出代价?
EN

Database Administration用户
提问于 2019-10-17 01:44:38
回答 1查看 343关注 0票数 5

我一直在试验用于全文搜索的type向量索引,并发现在type类型的列中生成向量存储是一种常见的做法。我们在Postgres 11.4上,但我已经看到这种实践被用作PG 12生成列的示例。(比为同一目的使用触发器更简单。)

我的问题是,好处是什么?我尝试在文本字段的the向量上使用表达式GIN索引,在存储的the向量上使用GIN索引。由于本地有大约8米行,我无法测量任何有意义的速度差异。考虑到将向量存储为列和索引需要更多的空间,我很好奇是否有明显的情况证明额外的成本是合理的。例如,当你有了更多的角色时。

注意:我们将文本存储在数据库中,因此这不是那些设置之一,您可以在其中索引外部页面/document/etc,而不将源文本删除到数据库中。

EN

回答 1

Database Administration用户

发布于 2022-04-20 10:22:25

有趣的是,我在一列上创建了一个GIN索引,其中包含一些较大的值(进行文档文本提取,因此每行有多个段落(如果不是很多页的文本)。

根据查询的不同,查询采用了60+s,移动到预先计算的向量列+索引可以显着地改进这些查询,在“坏查询”上减少到2-3s。

基本上,我只是遵循了https://www.postgresql.org/docs/14/textsearch-tables.html "12.2.2.创建索引“的步骤,从函数索引开始,然后在”列+索引“设置的末尾进行转换。

因此,我强烈推荐任何一个问这个问题的人来衡量他们的设置。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/251307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档