PG Vector测试

通过psql客户端进行连接,相应命令可以参照;

powershell 复制代码
CREATE OR REPLACE FUNCTION random_array(dim integer) 
    RETURNS INT[]
AS $$ 
    SELECT array_agg(random()) 
    FROM generate_series(1, dim); 
$$ 
LANGUAGE SQL 
VOLATILE 
COST 1;

CREATE TABLE vtest(id INT, v VECTOR(1536));

INSERT INTO vtest SELECT i, random_array(1536)::VECTOR(1536) FROM generate_series(1, 1000000) AS i;

1000

CREATE INDEX ON vtest USING ivfflat(v vector_cosine_ops) WITH(lists = 1000);

CREATE INDEX ON vtest USING hnsw (v vector_l2_ops) WITH (m = 2, ef_construction = 8);

set hnsw.ef_search=1;

set ivfflat.probes=1;

//查看nsw索引加载情况

SELECT phase, round(100.0 * blocks_done / nullif(blocks_total, 0), 1) AS "%" FROM pg_stat_progress_create_index;

//查看执行计划

EXPLAIN SELECT * FROM vtest ORDER BY v <-> (SELECT random_array(1536)::VECTOR(1536)) LIMIT 50;

pgbench -f ./test.sql -c1 -T60 -P5 -n postgres

相关推荐
草莓熊Lotso3 小时前
【C++ 基于微服务的即时通讯系统】etcd + brpc 从安装到服务注册发现全链路实战
网络·数据库·c++·redis·微服务·etcd
Lethehong8 小时前
Oracle 加个字段,目标库就报错?KFS 用“先拆后组“打通异构 DDL
数据库·oracle
Web极客码9 小时前
锁定真正的磁盘卡顿:我用 OpenCode 配合 eBPF 诊断 NVMe 队列深度延迟与 I/O 写放大
数据库·oracle
cspttty9 小时前
2027用户研究求职准备:应用统计学如何补齐研究设计与业务表达
大数据·数据库
一直在努力学习的菜鸟10 小时前
PostgreSQL流复制和PostgreSQL高可用的区别
postgresql
roman_日积跬步-终至千里11 小时前
【数据Agent论文·查询与语义|05】Spider:为什么换一个数据库,模型就不会查了?
数据库·数据分析
猫咪很可爱11 小时前
Oracle RAC 启动失败排查:私网通信与内核参数优化实战
运维·数据库·oracle
XLYcmy11 小时前
《数字经济赋能城市低碳治理的路径研究检索报告》审阅与修改指导意见——基于完整检索报告体例的完整性诊断、学术规范核查与方法论纠偏 上
数据库·ai·chatgpt·文心一言·检索·知网·豆包
泡海椒11 小时前
JQuick-SQL 快速开始:注册内存表并执行查询
数据库·windows·sql
ss27312 小时前
PG实战笔记 | 09 PostgreSQL psql客户端基本操作
数据库·笔记·postgresql