何时选择哪种索引
- BTREE:等值与范围查询的默认选择;支持排序优化
- GIN:全文检索与数组/JSONB 包含查询,需结合
gin_trgm_ops或合适操作符类 - BRIN:适合巨大表且数据具有物理顺序相关性(如时间序),占用小且建索引快
常用命令
- 创建索引:
CREATE INDEX idx ON t USING BTREE (col); - 查看查询计划:
EXPLAIN (ANALYZE, BUFFERS) SELECT ...; - 维护:定期
VACUUM/ANALYZE,监控膨胀与统计信息准确性
优化思路
- 依据查询模式选择合适列与操作符类
- 复合索引列顺序与选择性相关;避免无效前导列
- 使用部分索引优化热点或稀疏数据
注意事项
- 过多索引影响写入与维护成本
- GIN 索引构建较慢且占用大,需评估

发表评论 取消回复