【发布时间】:2011-01-19 07:28:26
【问题描述】:
我有一个 PostgreSQL 存储过程,它遍历一个非常大的列表,并使用 UPDATE 对其某些成员进行更改。
有没有办法在每次迭代时提交这些更改,而不是在函数执行结束时提交?它可以让我在很短的时间内运行该函数,每次运行时进行一些小改动。
谢谢,
亚当
【问题讨论】:
-
真正的性能优化是使用单个
update语句,而不是在cursor中或通过其他方法循环整个列表。这在您的场景中是不可能的吗? -
可能是这样,但我还是很好奇这个问题。
-
从 PostgreSQL 11 开始,可以使用 PROCEDURE 代替 FUNCTION,并且允许提交过程。
标签: postgresql stored-procedures commit