我有数十年的 MSSQL 经验,但没有使用 Postgres 及其 MVCC 并发控制风格。
在 MSSQL 中,如果我有一个非常大的只读数据集,我会将数据库设置为只读(为了安全起见)并使用未提交的事务隔离级别,这样可以避免数据集不需要的锁争用反正。
在 Postgres 中,有没有等价的?将数据库设置为只读并确保完全安全的 PG 不使用 MVCC 的某种方式,只需读取而不制作行副本?因为 MVCC 似乎有一些相当大的开销,对于非常大的被动数据集的多个读取器来说,这似乎可能是昂贵的。
编辑:评论说我误解了只有在写作发生时才制作副本,而不是像我想象的那样阅读。