↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

Richard Yen 讲清 Bitmap Heap Scan 的取舍 RSS

Bitmap Heap Scan 分两步:先用一个或多个索引建出匹配行的位图,再按物理顺序访问堆页,把随机 I/O 换成顺序 I/O。规划器一般在选择度居中时选它,也就是行数多于索引扫描划算的范围、又不值得全表顺序扫描。它还能用 BitmapAnd 和 BitmapOr 组合多个独立索引,省掉专门的复合索引。内存不够时位图退化成只记页面级信息,堆访问阶段要靠 Recheck Cond 补做过滤。

发布于 2026-09-10T10:59:39.490607Z · Richard Yen · richyen.com
性能 执行计划 索引

Bitmap Heap Scan 分两步:先用一个或多个索引建出匹配行的位图,再按物理顺序访问堆页,把随机 I/O 换成顺序 I/O。规划器一般在选择度居中时选它,也就是行数多于索引扫描划算的范围、又不值得全表顺序扫描。它还能用 BitmapAnd 和 BitmapOr 组合多个独立索引,省掉专门的复合索引。内存不够时位图退化成只记页面级信息,堆访问阶段要靠 Recheck Cond 补做过滤。

Bitmap Heap Scan 分两步:先用一个或多个索引建出匹配行的位图,再按物理顺序访问堆页,把随机 I/O 换成顺序 I/O。规划器一般在选择度居中时选它,也就是行数多于索引扫描划算的范围、又不值得全表顺序扫描。它还能用 BitmapAnd 和 BitmapOr 组合多个独立索引,省掉专门的复合索引。内存不够时位图退化成只记页面级信息,堆访问阶段要靠 Recheck Cond 补做过滤。

原始来源 ↗

来源记录
  • center.info_item · 5fec8678f97f8afe · 2026-10-03T04:08:35.169032Z
  • pgweb.info_item · 5fec8678f97f8afe · 2026-10-03T04:08:55.967155Z