跳转到内容

阶段四 · 索引与执行计划

阶段三讲清了「数据长什么样」,这一阶段讲「怎么找到它」。两者是连着的——Index-Only Scan 直接依赖可见性映射。

  • B-tree 的物理结构:为什么复合索引的列顺序是硬约束 → 详见
  • 选择率与代价模型:优化器凭什么放弃索引
  • EXPLAIN (ANALYZE, BUFFERS) 逐字段读法
  • 覆盖索引与 Index-Only Scan
  • GIN(jsonb / 全文 / 数组)、GiST、BRIN、部分索引、表达式索引
  • 统计信息:ANALYZEpg_statistic、多列统计对象
  • 索引 (a, b) 能否加速 WHERE b = ??从 B-tree 结构解释。
  • Bitmap Index Scan 在什么条件下出现?它解决了什么问题?
  • 优化器放着索引不用而选 Seq Scan,至少说出三个可能原因。
  • 为什么 Index-Only Scan 依赖 VACUUM?把因果链完整说一遍。
  • GIN 索引为什么写入慢?fastupdate 和 pending list 是什么?