↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

pg_trgm 的 GIN 索引构建从 248 秒降到 144 秒 RSS

David Geier 提交的补丁系列针对 pg_trgm 的 GIN 索引构建做了三处优化:把 btint4cmp() 改成无分支实现、为 trigram 引入基数排序、在 ginInsertBAEntries() 里用哈希映射替换红黑树,最后一项把复杂度从键总数乘以唯一键对数降到线性加一次排序。lineitem 基准上索引构建从 248 秒缩短到 144 秒,下一个瓶颈落在 trigram 生成。

发布于 2026-09-10T10:59:39.296839Z · David Geier · pgsql-hackers
GIN pg_trgm 性能

David Geier 提交的补丁系列针对 pg_trgm 的 GIN 索引构建做了三处优化:把 btint4cmp() 改成无分支实现、为 trigram 引入基数排序、在 ginInsertBAEntries() 里用哈希映射替换红黑树,最后一项把复杂度从键总数乘以唯一键对数降到线性加一次排序。lineitem 基准上索引构建从 248 秒缩短到 144 秒,下一个瓶颈落在 trigram 生成。

David Geier 提交的补丁系列针对 pg_trgm 的 GIN 索引构建做了三处优化:把 btint4cmp() 改成无分支实现、为 trigram 引入基数排序、在 ginInsertBAEntries() 里用哈希映射替换红黑树,最后一项把复杂度从键总数乘以唯一键对数降到线性加一次排序。lineitem 基准上索引构建从 248 秒缩短到 144 秒,下一个瓶颈落在 trigram 生成。

原始来源 ↗

来源记录
  • center.info_item · ce9837e7bbecf706 · 2026-10-03T04:08:35.169032Z
  • pgweb.info_item · ce9837e7bbecf706 · 2026-10-03T04:08:55.967155Z