Wybieranie c) z twoich pytań:
Jak @Craig już wyjaśnił
, kolumny, które są "zdolne do TOAST" i przekraczają określony próg, są przechowywane poza linią w dedykowanej tabeli TOAST na tabelę (oddzielne "widły relacji", oddzielne pliki na dysku). A więc 5 MB bytea
kolumna pozostanie w większości nietknięta w aktualizacji, jeśli sama kolumna nie zostanie zmieniona. Instrukcja:
Pogrubiony nacisk na kopalnię.
Wiersz w głównym rozwidleniu relacji jest nadal kopiowany, a martwy wiersz pozostaje po aktualizacji (niezależnie od tego, czy jakiekolwiek wartości faktycznie się zmieniły). W przypadku dużych rozmiarów wierszy może się opłacać następujące rozwiązanie:
Utwórz małą oddzielną tabelę 1:1 dla często zmienianych flag. Tylko klucz podstawowy (=klucz obcy w tym samym czasie) i często zmieniane flagi. Spowoduje to, że aktualizacje będą dużo szybsze i oszczędzą miejsce na dysku — dla początkowego dodatkowego obciążenia i pewnych kosztów dla zapytań, które muszą łączyć obie tabele (inne zapytania faktycznie stają się szybsze). Więcej informacji o wymaganiach dotyczących miejsca na dysku dla wierszy tabeli: