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

相关推荐
飞鱼计划22 分钟前
MySQL如何释放sql
数据库·sql·mysql
x***r15126 分钟前
MySQL 8.0安装教程 Windows版:解压+自定义组件+传统认证+密码设置+命令行快捷方式创建指南
数据库·windows·mysql
czlczl200209251 小时前
Redis数据编码
数据库·redis·缓存
Wpa.wk1 小时前
pb协议接口测试
数据库·redis·缓存
IpdataCloud1 小时前
资源受限设备上轻量级IP查询模块的部署方法
网络·数据库·网络协议·tcp/ip
青槿吖2 小时前
SpringMVC通关秘籍(下):日期转换器、拦截器与文件上传的奇幻冒险
java·开发语言·数据库·sql·mybatis·状态模式
楼田莉子2 小时前
MySQL数据库:表及其表相关的操作
数据库·学习·mysql
ZTLJQ2 小时前
驾驭高并发:Python协程与 async/await 完全解析
服务器·数据库·python
百年੭ ᐕ)੭*⁾⁾2 小时前
DataFrame存入mysql以及读取操作
数据库·mysql·numpy·pandas·ipython
²º²²এ松2 小时前
vs code连接ubuntu esp项目
linux·数据库·ubuntu