何时选择哪种索引
- BTREE:等值与范围查询的默认选择;支持排序优化
- GIN:全文检索与数组/JSONB 包含查询,需结合
gin_trgm_ops 或合适操作符类
- BRIN:适合巨大表且数据具有物理顺序相关性(如时间序),占用小且建索引快
常用命令
- 创建索引:
CREATE INDEX idx ON t USING BTREE (col);
- 查看查询计划:
EXPLAIN (ANALYZE, BUFFERS) SELECT ...;
- 维护:定期
VACUUM/ANALYZE,监控膨胀与统计信息准确性
优化思路
- 依据查询模式选择合适列与操作符类
- 复合索引列顺序与选择性相关;避免无效前导列
- 使用部分索引优化热点或稀疏数据
注意事项
- 过多索引影响写入与维护成本
- GIN 索引构建较慢且占用大,需评估
索引类型选择
- BTREE:默认索引,适合等值与范围查询
- GIN:适合数组、JSONB、全文检索
- BRIN:适合时间序列等物理有序数据
/* 跳过导航链接 (无障碍) */
position: absolute;
top: -100px;
left: 15px;
z-index: 99999;
padding: 8px 16px;
background: #007bff;
color: #fff;
font-size: 14px;
border-radius: 0 0 4px 4px;
text-decoration: none;
transition: top 0.2s;
}
top: 0;
outline: 3px solid #0056b3;
}
发表评论 取消回复