🧭 一、为什么要关注性能调优?
pg_trgm + GIN 索引确实强大,但当表达到千万级后,你可能会遇到这些问题:
| 问题 |
表现 |
原因 |
| 索引体积暴涨 |
GIN 索引文件 > 数据表 |
trigram 组合多 |
| 查询变慢 |
原本几十毫秒 → 数百毫秒 |
索引膨胀或统计信息过时 |
| 插入变慢 |
批量导入速度下降 |
GIN 索引实时更新成本高 |
解决方案不是“删索引重建”,而是要学会分析、调优、维护。

🧩 二、索引膨胀与查询变慢的原理
🔍 GIN 索引的结构特点:
- 类似倒排索引(Inverted Index)
- 存储大量 trigram → 出现“索引页碎片”
- 插入频繁时,PostgreSQL 不会立即合并空页