|
|
|
|
|
by throwdbaaway
2075 days ago
|
|
> What happens if the new row does not fit in? In this case performance will be worse because zheap essentially has to perform a DELETE / INSERT operation which is of course not as efficient as an in-place UPDATE. I would be wary of this. Innodb, for example, also has an optimistic (in-place) UPDATE mode, and a pessimistic UPDATE mode. Repeatedly updating the same row under the pessimistic mode would end up stalling the database, even at a rather low QPS. https://bugs.mysql.com/bug.php?id=53825 was originally reported by Facebook 10 years ago, and is still not fixed in 8.0.21 with VATS / CATS scheduling. And then there is also the performance gap between the ideal case where undo log is still in memory, versus the pathological case where undo log needs to be fetched from disk. The last thing postgres needs is something that looks good on paper / in benchmark, but has a bunch of issues in production. |
|