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

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

HOT 更新省掉索引写入的两个前提 RSS

更新一行就要改所有索引,是 PostgreSQL 写放大的主要来源,HOT 更新是它的逃生口。Radim Marek 梳理触发条件:新元组要放得进同一页面,且被修改的列都没有索引,缺一不可。写多的表可以把 fillfactor 从默认的 100 降到 80 到 90,给 HOT 链留空间,代价是多占存储。效果看 pg_stat_user_tables 里 HOT 更新数与总更新数的比值,比例下滑就该查。长事务会阻止页面裁剪。

发布于 2026-09-10T10:59:39.531922Z · Radim Marek · boringsql.com
HOT 更新 写放大 调优

更新一行就要改所有索引,是 PostgreSQL 写放大的主要来源,HOT 更新是它的逃生口。Radim Marek 梳理触发条件:新元组要放得进同一页面,且被修改的列都没有索引,缺一不可。写多的表可以把 fillfactor 从默认的 100 降到 80 到 90,给 HOT 链留空间,代价是多占存储。效果看 pg_stat_user_tables 里 HOT 更新数与总更新数的比值,比例下滑就该查。长事务会阻止页面裁剪。

更新一行就要改所有索引,是 PostgreSQL 写放大的主要来源,HOT 更新是它的逃生口。Radim Marek 梳理触发条件:新元组要放得进同一页面,且被修改的列都没有索引,缺一不可。写多的表可以把 fillfactor 从默认的 100 降到 80 到 90,给 HOT 链留空间,代价是多占存储。效果看 pg_stat_user_tables 里 HOT 更新数与总更新数的比值,比例下滑就该查。长事务会阻止页面裁剪。

原始来源 ↗

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