Välj c) från dina frågor:
Som @Craig redan förklarat
, kolumner som är "TOAST-able" och större än ett visst tröskelvärde lagras out-of-line i en dedikerad TOAST-tabell per tabell (separata "relationsforks", separata filer på disken). Alltså en 5 MB bytea
kolumnen förblir mestadels orörd i en uppdatering om själva kolumnen inte ändras. Handboken:
Fet betoning min.
Raden i huvudrelationsgaffeln kopieras fortfarande och en död rad ligger kvar när den uppdateras (oavsett om några värden faktiskt har ändrats eller inte). För stora radstorlekar kan följande lösning betala sig:
Skapa en liten separat 1:1-tabell för ofta ändrade flaggor. Bara primärnyckeln (=främmande nyckel samtidigt) och de ofta ändrade flaggorna. Detta skulle göra uppdateringar mycket snabbare och bevara diskutrymme - för en initial extra omkostnad och viss kostnad för frågor som behöver ansluta till båda tabellerna (andra frågor blir faktiskt snabbare). Mer om diskutrymmeskrav för tabellrader: