Vælger c) fra dine spørgsmål:
Som @Craig allerede har forklaret
, kolonner, der er "TOAST-able" og større end en vis tærskel, gemmes out-of-line i en dedikeret TOAST-tabel pr. tabel (separate "relationsgafler", separate filer på disken). Altså en 5 MB bytea
kolonne forbliver stort set urørt i en opdatering, hvis selve kolonnen ikke ændres. Manualen:
Fed fremhævelse min.
Rækken i hovedrelationsgaffelen kopieres stadig, og en død række forbliver bagved, når den opdateres (uanset om nogen værdier rent faktisk ændres). For store rækkestørrelser kan følgende løsning betale sig:
Opret en lille separat 1:1 tabel for ofte skiftede flag. Kun den primære nøgle (=fremmednøgle på samme tid) og de ofte ændrede flag. Dette ville gøre opdateringer meget hurtigere og spare diskplads - for en indledende ekstra overhead og nogle omkostninger for forespørgsler, der skal slutte sig til begge tabeller (andre forespørgsler bliver faktisk hurtigere). Mere om diskpladskrav for tabelrækker: