Table Design for Write-Heavy Workloads — HOT Updates, Fill Factor, and Bloat
Table Design for Write-Heavy Workloads — HOT Updates, Fill Factor, and Bloat
PostgreSQL's MVCC model means that UPDATE and DELETE do not overwrite rows in place — they mark old versions dead and write new ones. Over time this creates dead rows (bloat) that waste disk space and slow down queries. Understanding how HOT updates, fill factor, and VACUUM interact lets you design tables that stay fast under heavy write loads.