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

相关推荐
廿一夏5 小时前
MySql存储引擎与索引
数据库·sql·mysql
曲幽5 小时前
我用了FastApiAdmin后,连夜把踩过的坑都整理出来了
redis·python·postgresql·vue3·fastapi·web·sqlalchemy·admin·fastapiadmin
lzhdim7 小时前
SQL 入门 15:SQL 事务:从 ACID 到四种常见的并发问题
数据库·sql
瀚高PG实验室7 小时前
瀚高企业版V9.1.1在pg_restore还原备份文件时提示extract函数语法问题
数据库·瀚高数据库
TDengine (老段)7 小时前
TDengine Tag 设计哲学与 Schema 变更机制
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
YOU OU8 小时前
Spring IoC&DI
java·数据库·spring
Muscleheng9 小时前
Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错
数据库·postgresql
罗超驿10 小时前
18.事务的隔离性和隔离级别:MySQL面试高频考点全解析
数据库·mysql·面试
jran-10 小时前
Redis 命令
数据库·redis·缓存
小江的记录本11 小时前
【Java基础】Java 8-21新特性:JDK21 LTS:虚拟线程、模式匹配switch、结构化并发、序列集合(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven