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

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

文档 / 存储参数 / SP-GiST 索引

fillfactor

SP-GiST填充因子

控制页面的初始填充比例,为后续写入或更新预留空间。

当前查看 PostgreSQL 18.6。

说明

控制索引方法尝试将索引页填充到多满。对于 B-树,在初始构建索引时,以及在右侧扩展索引(加入新的最大键值)时,叶子页都会填充到这一百分比。如果页面随后变成全满,就会发生分裂,从而导致磁盘上的索引结构碎片化。B-树默认使用 90 的填充因子,但也可以选择 10 到 100 之间的任意整数值。

对预计会有大量插入和/或更新的表,在 CREATE INDEX 时为 B-树索引设置较低的填充因子会有好处(即在向表批量装载数据之后)。50 到 90 范围内的值可以有效地 “ 平滑 ” B-树索引生命周期早期页面分裂的 速率 (这样降低填充因子甚至可能减少页面分裂的绝对数量,不过这一效果高度依赖工作负载)。 第 65.1.4.2 节 中描述的 B-树自底向上索引删除技术依赖于页面上有一些 “ 额外 ” 空间来存储 “ 额外 ” 的元组版本,因此也会受到填充因子影响(不过通常影响不大)。

在某些其他特定情况下,在 CREATE INDEX 时将填充因子提高到 100 可能有助于最大化空间利用率。只有在完全确定该表是静态的(即永远不会受到插入或更新影响)时,才应考虑这样做。否则,将填充因子设为 100 有 损害 性能的风险:即便只有少量更新或插入,也会导致页面突然大量分裂。

其他索引方法以不同但大致类似的方式使用填充因子;默认填充因子因方法而异。

适用对象
SP-GiST 索引
取值类型
整数

用法

WITH (fillfactor = value)

索引访问方法

此条目适用于 SP-GiST 索引。使用 CREATE INDEX 的 WITH 子句设置,或用 ALTER INDEX SET 修改已有索引。参数的行为、默认值与适用范围应按该索引方法阅读。

手册将四种索引方法的 fillfactor 合并说明,其中的 90 默认值及 10–100 取值范围明确针对 B-tree,不能直接套用到本索引方法。

相关条目

文档与源码

查看来源构建
版本
18.6
构建
本地中文手册 18.6
来源指纹
2892290581c230fa73001957e37b5061767c1449e17d120024cc081bfc36a941

返回存储参数 · 此条目的收录范围为 PostgreSQL 10 至 20;起点不一定是实际引入版本。