gpt4 book ai didi

postgresql - postgres cube 欧氏距离查询性能问题

转载 作者:行者123 更新时间:2023-12-05 07:22:12 27 4
gpt4 key购买 nike

我有一个 postgres 数据库,其中包含一个包含 100 维词嵌入的文档表,并使用它来查找相似文档。

CREATE TABLE documents(
id bigint,
title text,
body text,
vector double[],
PRIMARY KEY(id)
);

我已经安装了 cube 扩展,并使用它根据所选文档的相似性对文档进行排序(如 here 所述):

SELECT id,title,body FROM documents ORDER BY cube(documents.vector) 
<-> '(0.0990813672542572021,.. 0.0537704713642597198)'::cube LIMIT 10;

我在这里设置了索引:使用 gist (cube(vector)) 在文档上创建索引 ix_vect;

我得到了预期的结果,但是对于大约 200 万行的表大小,查询时间非常长 ~30-45 秒。如何提高性能以将其降低到可接受的水平,即 <1 秒处理数百万行?

最佳答案

docCUBE的正确使用方法| :

SELECT c FROM test ORDER BY c <-> cube(array[0.5,0.5,0.5]) LIMIT 1;

关于postgresql - postgres cube 欧氏距离查询性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56617971/

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