返回数说广场
0
正如我们之前所说,表膨胀是 PostgreSQL 管理数据的自然结果。某些工作负载模式更容易导致膨胀,例如:
高频的 UPDATE/DELETE 操作。 频繁更新的表可能会迅速积累这些死行,因为在 PostgreSQL 中更新行时,会创建行的新版本,并将旧版本标记为“死行”。同样,当行被删除时,它们不会立即从表中移除。相反,它们被标记为待删除,稍后由自动清理进程(稍后更多关于自动清理)删除。
批量 INSERT 后跟 DELETE。 类似插入大量行然后删除其中许多行的批量操作可能会导致快速积累的膨胀。如果这些操作频繁进行,并且自动清理没有足够的时间或资源在这些批次之间进行清理,那么情况尤其如此。
长时间运行的事务。 长时间运行的事务可能会阻止死行被清理。在事务完成之前,该事务期间修改或删除的行不能进行清理,即使它们不再需要。这可能导致膨胀暂时积累。
0
0 167
分享
评论
热门数说



