Výběr c) z vašich otázek:
Jak již vysvětlil @Craig
, sloupce, které jsou „možné TOAST“ a jsou větší než určitá prahová hodnota, jsou uloženy mimo řádek ve vyhrazené tabulce TOAST pro každou tabulku (samostatné „relační větve“, samostatné soubory na disku). Tedy 5 MB bytea
sloupec by při aktualizaci zůstal většinou nedotčen, pokud by se samotný sloupec nezměnil. Příručka:
Tučné zdůraznění min.
Řádek ve větvi hlavní relace se stále zkopíruje a po aktualizaci zůstane mrtvý řádek (bez ohledu na to, zda se nějaké hodnoty skutečně změnily). U velkých řádků může platit následující řešení:
Vytvořte malou samostatnou tabulku 1:1 pro často měněné vlajky. Jen primární klíč (=cizí klíč zároveň) a často měněné příznaky. Aktualizace by tak byly mnohem rychlejší a ušetřilo by se místo na disku – pro počáteční extra režii a určité náklady na dotazy, které potřebují spojit obě tabulky (ostatní dotazy jsou ve skutečnosti rychlejší). Více o požadavcích na místo na disku pro řádky tabulky: