首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除了热更新之外,更低的表填充因子的好处?

除了热更新之外,更低的表填充因子的好处?
EN

Stack Overflow用户
提问于 2016-08-25 13:40:34
回答 1查看 773关注 0票数 4

设置一个低于默认的100%的填充因子允许在表上进行热(仅堆元组)更新。但是,如果更新的列是索引的一部分,则不可能进行热更新。如果表上的更新总是影响索引列,因此永远不会发生热更新,并且通过查看pg_stat_all_tables中的表的pg_stat_all_tables列来确认这一点,那么在此场景中设置一个小于100%的填充因子有什么好处吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-25 14:29:36

手册根本没有提到热更新作为填充因素的原因。

fillfactor (整数) 表的填充因子是介于10到100之间的百分比。100 (完整包装)是默认的。如果指定了较小的填充因子,则只将操作包表页插入到指定的百分比;每个页上的剩余空间用于更新该页上的行。这使UPDATE有机会将已更新的行副本放置在与原始页相同的页面上,这比将其放置在不同的页面上更有效。对于一个从未更新过条目的表,完全打包是最好的选择,但是在更新频繁的表中,较小的填充因子是合适的。不能为吐司表设置此参数。

无论使用哪种方法(热方法或其他方法)来更新行postgres,都需要:

  • 写新行
  • 保留旧行,以便其他事务仍然可以读取它,但确保旧行标记为旧行。

因此,不管是否使用UPDATE,postgres必须始终写入/更改两行,这是的结果。如果在一页而不是两页上这样做,这将永远是更有效率的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39146956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档