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

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

预备语句的第六次执行为何让查询突然变慢 RSS

Christophe Pettus 拆解了 PostgreSQL 的计划缓存。简单查询协议下的文本 SQL 每次都要重新解析、重写、规划再丢弃,PostgreSQL 没有跨会话的共享计划缓存,计划只挂在预备语句、PL/pgSQL 和 SPI 这类对象上。带参数的预备语句真正的分岔点在第六次执行:此前用定制计划,之后才可能改用通用计划,不少“什么都没改查询却变慢了”正出自这一刻。文中结论以 PostgreSQL 18 核对。

发布于 2026-09-10T10:59:49.093327Z · Christophe Pettus · The Build
性能 计划缓存 预备语句

Christophe Pettus 拆解了 PostgreSQL 的计划缓存。简单查询协议下的文本 SQL 每次都要重新解析、重写、规划再丢弃,PostgreSQL 没有跨会话的共享计划缓存,计划只挂在预备语句、PL/pgSQL 和 SPI 这类对象上。带参数的预备语句真正的分岔点在第六次执行:此前用定制计划,之后才可能改用通用计划,不少“什么都没改查询却变慢了”正出自这一刻。文中结论以 PostgreSQL 18 核对。

Christophe Pettus 拆解了 PostgreSQL 的计划缓存。简单查询协议下的文本 SQL 每次都要重新解析、重写、规划再丢弃,PostgreSQL 没有跨会话的共享计划缓存,计划只挂在预备语句、PL/pgSQL 和 SPI 这类对象上。带参数的预备语句真正的分岔点在第六次执行:此前用定制计划,之后才可能改用通用计划,不少“什么都没改查询却变慢了”正出自这一刻。文中结论以 PostgreSQL 18 核对。

原始来源 ↗

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