单个保存点(事务内)在 postgresql 中占用多少内存?我正在开发一个可能创建大量保存点(100k+)的应用程序,想知道性能损失。
答案1
据我所知,它们非常便宜,就像一般的交易一样。但我从未尝试创建 10 万个。
您应该知道,事务的大小是有限制的(如果我没记错的话,最多是 2^32-1 个命令),听起来您的设计已经接近这个限制了。一般来说,我可能会认为包含数十万个保存点的设计是有缺陷的。
答案2
我认为最好通过在您的特定应用程序中尝试来回答这个问题。每个单独的保存点的影响并不大,但是当您谈论 100k+ 时,影响会累积,其他因素也会发挥作用。