首页/AI/RAG 与向量库速查/pgvector 性能与资源调优

pgvector 性能与资源调优

pgvector 的检索性能受并行度、内存与索引参数影响:顺序扫描可配合 max_parallel_workers_per_gather 并行加速,建索引期调整 maintenance_work_mem,查询期调 probes / ef_search。

RAG 与向量库速查AI更新于 2026-10-12

建索引期与查询期参数

建索引期与查询期参数
-- 建索引前(会话级)
SET maintenance_work_mem = '2GB';
CREATE INDEX ON kb_chunks USING hnsw (embedding vector_cosine_ops);

-- 查询期
SET max_parallel_workers_per_gather = 4;
EXPLAIN (ANALYZE, BUFFERS)
SELECT id FROM kb_chunks ORDER BY embedding <=> $1 LIMIT 10;
用 EXPLAIN ANALYZE 确认是否走索引扫描(Index Scan),顺序扫描在大表上会慢一个量级。

易错点

  • 只看经验贴参数不看 EXPLAIN,索引没被用上但误以为已加速
  • 一次性把 maintenance_work_mem 调到超过机器上限,构建被系统 OOM 终止

数据来源与参考

  • pgvector README(Performance / Index build)
  • PostgreSQL 官方文档(EXPLAIN / 资源参数)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌