Przez MVCC update/delete tworzą “martwe” wiersze (dead tuples), które musi sprzątać VACUUM. Bloat pojawia się, gdy sprzątanie nie nadąża (dużo update'ów, długie transakcje, złe ustawienia autovacuum), więc tabele/indeksy rosną. Mitigacja: tuning autovacuum, unikanie długich transakcji oraz okresowo `REINDEX`/`VACUUM (FULL)` lub narzędzia online typu pg_repack, gdy trzeba.
Rozwinięcie krótkiej odpowiedzi — co zwykle ma znaczenie w praktyce:
Krótki przykład (kształt zapytania):
-- Example: index + query shape
SELECT *
FROM users
WHERE email = '[email protected]'
LIMIT 1;