文章內有提供 MVCC 的原理及操作範例,想依此證明 Oracle 在 MVCC 的實作上較 PostgreSQL 來得優雅。

簡言之,Oracle 利用 UNDO transaction table 及 pointer (chained rows) 的設計,展現 MVCC 在幾種情況下都比 PostgreSQL 的 MVCC 來得更能避免 Bloat (膨脹) 問題。

想更瞭解 PostgreSQL 長久以來 Bloating 的問題,可以參考我之前撰寫的這篇文章。

PostgreSQL 永遠的難題 - Bloating

最後補充,MySQL 的設計是與 Oracle 接近的。

參考來源