发布于 2026-09-10T10:59:46.883036Z · Radim Marek · boringsql

Radim Marek 把 PostgreSQL 的 MVCC 摆上审判席:索引多的表更新一个未加索引的列,每行产生 7.1 条 WAL 记录,精简表只要 3.0;回滚掉的百万行更新让表涨到 178 MB、死元组占 47%;一个空闲事务持着快照就能让全库清理停摆。但换成别的引擎只是换人付账:Oracle 与 InnoDB 的 undo 让读者重建版本,SQL Server 把版本堆进 tempdb,LSM 用持续合并换掉 VACUUM。
Radim Marek 把 PostgreSQL 的 MVCC 摆上审判席:索引多的表更新一个未加索引的列,每行产生 7.1 条 WAL 记录,精简表只要 3.0;回滚掉的百万行更新让表涨到 178 MB、死元组占 47%;一个空闲事务持着快照就能让全库清理停摆。但换成别的引擎只是换人付账:Oracle 与 InnoDB 的 undo 让读者重建版本,SQL Server 把版本堆进 tempdb,LSM 用持续合并换掉 VACUUM。
来源记录
- center.info_item · c1f34901aa86054a · 2026-10-03T04:08:35.169032Z
- pgweb.info_item · c1f34901aa86054a · 2026-10-03T04:08:55.967155Z