Kun felter, der er gemt in-line, skal kopieres. For felter, der er gemt out-of-line i TOAST-tabeller, kopieres kun referencen til TOAST-posten.
Hvorvidt et felt er gemt out-of-line, afhænger af størrelsen af værdien i feltet og af feltets datatype.
Hvis tuplerne er store, men kun har få felter - gerne
some_id integer,
frequently_updated integer,
charblob text
så er der ikke meget mening i at ændre noget, fordi opdateringer af frequently_updated
vil generelt ikke omskrive dataene i charblob
, i hvert fald hvis den er stor nok til at den er værd at pleje.
OTOH, hvis du har en tabel med mange felter, vil du omskrive meget mere med hver opdatering.
HOT vil kun hjælpe dig i begrænset omfang, fordi en HOT-opdatering kun kan ske, når ingen opdaterede kolonne(r) er en del af et indeks og der er nok ledig plads på den samme databaseside. For brede rækker vil du ikke passe mange kopier på en side, selv med TOAST, så HOT vil være til begrænset fordel.
Det kan være værd at adskille sådanne felter i separate tabeller, hvis de virkelig opdateres ofte, men resten af tabellen har brede rækker, der ikke ændrer sig meget.