我知道当我在Pg中添加UPDATE
行时,该行会被重写,当新行被激活时,旧行会被取消激活。我知道这是由于MVCC层的实现方式。
UPDATE
优于DELETE ... INSERT
的优势是什么?关于Postgresql中UPDATE
和DELETE
的关系还有什么要说的吗?我找不到任何有关此帖子或邮件列表帖子的文档。显然,他们会运行不同的用户触发器,但是会发生什么情况,以便为他们提供不同的性能配置文件?
答案 0 :(得分:4)
DELETE会触发外键约束,你可能会违反它们。其他触发器也可能是一个问题。
如果您更改FILLFACTOR,还可以为数据库提供执行HOT update的选项。这是与原始记录所在内存块相同的更新。热更新可以更快,并且作为正常更新产生更少的开销(真空)。