高级Postgres运行INSERT / UPDATE速度?

时间:2010-08-11 15:21:23

标签: sql postgresql mvcc

我知道当我在Pg中添加UPDATE行时,该行会被重写,当新行被激活时,旧行会被取消激活。我知道这是由于MVCC层的实现方式。

UPDATE优于DELETE ... INSERT的优势是什么?关于Postgresql中UPDATEDELETE的关系还有什么要说的吗?我找不到任何有关此帖子或邮件列表帖子的文档。显然,他们会运行不同的用户触发器,但是会发生什么情况,以便为他们提供不同的性能配置文件?

1 个答案:

答案 0 :(得分:4)

DELETE会触发外键约束,你可能会违反它们。其他触发器也可能是一个问题。

如果您更改FILLFACTOR,还可以为数据库提供执行HOT update的选项。这是与原始记录所在内存块相同的更新。热更新可以更快,并且作为正常更新产生更少的开销(真空)。