PostgreSQL XID分配机制对无写入读写事务与只读事务开销的影响
问题解答
- 你说的完全是核心要点:PostgreSQL里,只做读取操作的READ WRITE事务不会被分配XID,而XID分配正是读写事务(无写入)和只读事务之间潜在开销差异的关键原因——因为只有当事务实际执行写入操作时,PostgreSQL才会触发XID分配的开销,纯读场景下读写事务和只读事务的性能表现基本一致。
- 至于其他数据库,情况不一定相同:部分数据库不管有没有执行增删改操作,只要开启了读写事务就会分配事务ID。比如MySQL的InnoDB引擎,只要启动事务(哪怕全程只读),就会分配事务ID,这是由它的事务隔离机制和实现逻辑决定的。
内容的提问来源于stack exchange,提问作者AmagicalFishy
相关产品推荐
相关产品推荐

