在postgres中为200个并发用户更新单个记录

时间:2017-12-07 13:15:48

标签: java postgresql

我有一条包含该版本的记录,最初是1200并发用户正在更新同一记录,每个更新版本应增加1。如果一切正常,则版本必须为200

我无法正确更新记录。

Max connection pool size = 50
Database = Postgres

你能建议吗? 在此先感谢:)

1 个答案:

答案 0 :(得分:0)

这里不需要任何复杂的事情,也不需要明确的交易管理。

所有参与的会议都只发出

UPDATE mytab
SET version=version+1
WHERE key=42
RETURNING version;

默认情况下,每个语句都在自己的事务中运行,这些事务将通过行上的独占锁相互锁定,因此它们将自动序列化。