↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 存储结构 / 物理结构

Heap-Only Tuples ( HOT )

为了支持高并发, PostgreSQL 使用 多版本并发控制 ( MVCC )来存储行。不过, MVCC 对更新查询也有一些缺点。具体来说,更新需要向表中加入新的行版本。这还可能要求为每个被更新的行新增索引条目,而移除旧的行版本及其索引条目可能代价很高。 为了帮助降低更新的开销, PostgreSQL 提供了一种名为堆内元组( HOT )的优化。该优化在以下情况下可行: 在这种情况下,堆内元组提供两项优化: 要提高页面拥有足够空间进行 HOT 更新的可能性,你可以降低表的 fillfactor…

当前查看 PostgreSQL 18。

中文定义与说明

存储结构 storage-hot。

同版本中文手册节选

为了支持高并发,PostgreSQL 使用多版本并发控制(MVCC)来存储行。不过,MVCC 对更新查询也有一些缺点。具体来说,更新需要向表中加入新的行版本。这还可能要求为每个被更新的行新增索引条目,而移除旧的行版本及其索引条目可能代价很高。

为了帮助降低更新的开销,PostgreSQL 提供了一种名为堆内元组(HOT)的优化。该优化在以下情况下可行:

在这种情况下,堆内元组提供两项优化:

要提高页面拥有足够空间进行 HOT 更新的可能性,你可以降低表的 fillfactor。即使不这样做,HOT 更新也仍然会发生,因为新行会自然迁移到新页面,而那些具有足够空闲空间容纳新行版本的现有页面也会被利用。系统视图 pg_stat_all_tables 可以用来监控 HOT 更新和非 HOT 更新的发生情况。

查看完整中文手册与上下文。

说明

为了支持高并发, PostgreSQL 使用 多版本并发控制 ( MVCC )来存储行。不过, MVCC 对更新查询也有一些缺点。具体来说,更新需要向表中加入新的行版本。这还可能要求为每个被更新的行新增索引条目,而移除旧的行版本及其索引条目可能代价很高。 为了帮助降低更新的开销, PostgreSQL 提供了一种名为堆内元组( HOT )的优化。该优化在以下情况下可行: 在这种情况下,堆内元组提供两项优化: 要提高页面拥有足够空间进行 HOT 更新的可能性,你可以降低表的 fillfactor 。即使不这样做, HOT 更新也仍然会发生,因为新行会自然迁移到新页面,而那些具有足够空闲空间容纳新行版本的现有页面也会被利用。系统视图 pg_stat_all_tables 可以用来监控 HOT 更新和非 HOT 更新的发生情况。

定义范围
同版本核心物理存储文档

相关条目

文档与源码

来源构建
版本
18.6
构建
https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
来源指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f

版本比较

PostgreSQL 10 → 11: 新增收录。

以下差异保留原始字段名与英文源描述。

--- PostgreSQL 10
+++ PostgreSQL 11
@@ -1 +1,3 @@
-该版未收录
+{
+  "layouts": []
+}

比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。

相关条目

导出 JSON · 返回存储结构 · 收录范围为 PostgreSQL 11 至 20;最早采样版本不一定是实际引入版本。