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

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

PostgreSQL 博览 · 2026-03-30 RSS

保留原始来源与发布日期的新闻、博客和活动。

13 条内容

预备语句执行到第六次会悄悄换成通用计划

Richard Yenrichyen.com

plan_cache_mode 默认取 auto:预备语句前五次用带参数值的定制计划,第六次才评估一份通用计划,只要通用计划的代价不高于定制计划的平均代价,本会话此后就固定用它。Richard Yen 用 pgbench 构造了 99.9% 取 Y、0.1% 取 N 的倾斜列:查 Y 时定制计划走顺序扫描,通用计划却按 50% 选择率估算而选了索引扫描,第六次之后永久切过去,于是同一条查询在数据没变的情况下突然变慢。数据分布越倾斜,这个坑越深。