不同交易隔离水平之间的性能/可伸缩性差异

问题描述 投票:0回答:1

我最近做了一些工作,涉及将一组查询包含在交易中。我正在研究可重复的读取和可序列化/快照隔离。 postgres在延迟可读取的查询

(可序列化快照隔离(SSI)和谓词锁定)上做了一些工作。关于此主题的较早的堆栈溢出问题是Does PostgreSQL运行一些仅阅读交易的性能优化。
我试图解决的问题正在弄清两者的相对影响。以前的堆栈溢出问题对优化进行了讨论,但是如何弄清楚哪种方法更好。指标很好,但是很难在足够的负载下测量以证明锁定的影响。

有一些类似于锁定计划的查询计划吗? 如果不是,我应该看什么?

隔离水平对性能的直接影响少于默认的隔离水平。唯一的考虑是,长期读取的

select
    交易(与
  • REPEATABLE READ
  • 不同)阻止了自动伏库姆的进度,这可能导致桌子膨胀,这又会影响性能。因此,请确保您没有长期运行的交易。 由于附加谓词锁,因此会产生性能成本。
  • 不要忘记,使用
READ COMMITTED
postgresql performance transactions database-performance
1个回答
0
投票
REPEATABLE READ

您可以获得序列化错误,这需要您重复交易。必须经常重复交易也会影响性能。

	
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.