Bazy danych · Middle · Pytanie 47 z 75
Dlaczego UPDATE w PostgreSQL zapisuje całą nową wersję wiersza?
- 1Żeby trwale przechowywać historię wszystkich zmian
- ✓Poprawna odpowiedź: Przez MVCC: stara wersja musi pozostać widoczna dla transakcji, które zaczęły się wcześniej
- 3Bo PostgreSQL przechowuje każdy wiersz skompresowany i musi go przepisać
Wyjaśnienie
Dlatego często aktualizowane szerokie wiersze powodują puchnięcie. Aktualizacje HOT nie dotykają indeksów, gdy nie zmienia się żadna zindeksowana kolumna, a na stronie jest miejsce.