| |
| ▲ | mattashii 7 months ago | parent [-] | | Many DBMSs with index-oriented storage (MySQL, Oracle, MSSQL) use undo logging for a transaction's MVCC, so that for deletion the old version is put into the undo log of that transaction and referred to as an old version of the record (or page, or ...), immediately cleaning up space on the page for new data while the transaction is still goin on. This is great for short transactions and record updates, as a page only has to hold one tuple version at a time, but that is at the cost of having to write the tuples that are being removed into a log, just in case the transaction needs to roll back. | | |
| ▲ | immibis 7 months ago | parent [-] | | The space isn't immediately cleaned up because of Postgres's version-based MVCC. It should only need to record that it marked the row as deleted, and the vacuum shouldn't need to record anything because it isn't atomic. | | |
| ▲ | mattashii 7 months ago | parent [-] | | Yes, but that's in PostgreSQL, not in MSSQL or the other systems I described (and which the gps seemed to refer to) |
|
|
|