第6章 索引与性能优化
🎯 本章学习目标
- 会创建/查看/删除索引,理解 PG 默认 B-tree、以及「不同查询模式选不同索引类型」是 PG 相对 MySQL 的最大增量知识。
- 掌握 PG 的四类特色索引并会选型:GIN(全文/JSONB/数组/
pg_trgm)、GiST(地理/范围/相似)、BRIN(超大时序表)、hash(等值)。 - 会用三把「MySQL 没有或较弱」的利器:表达式索引、部分索引(带 WHERE)、覆盖索引(INCLUDE)。
- 复用 MySQL 的最左前缀经验,并知道 PG 侧的差异:
NULLS NOT DISTINCT、INCLUDE让覆盖查询不回表。 - 线上大表用
CREATE INDEX CONCURRENTLY在线建索引不锁写,理解它为何不能放进事务。 - 用
EXPLAIN (ANALYZE, BUFFERS)读懂执行计划:识别Seq Scan(全表扫)vsIndex Scan/Bitmap Index Scan,看实际行数与耗时。 - 用
pg_stat_statements抓「最耗时的 Top SQL」,用ANALYZE维护统计信息让优化器选对计划。
关注公众号,免费阅读全文
请免费关注 预见猿份 公众号,发送:yjoffer.com,获取解锁密码
微信扫码关注关注公众号回复获取密码后,在下方输入并点击解锁,本机后续再读无需重复输入。
