Adding a new column is never just an ALTER TABLE command. It is a change in shape, size, and behavior. On small datasets, it feels instant. On large, high-traffic systems, the wrong approach triggers downtime. Choosing the right strategy means knowing engine internals and the runtime impact of schema changes.
In relational databases like PostgreSQL, MySQL, or MariaDB, adding a new column with a default value can rewrite the whole table. That’s hours of I/O for billions of rows. Some engines can avoid this rewrite if the column allows nulls at first, and you backfill in smaller batches. This reduces locks and keeps the system responsive.
For distributed SQL systems like CockroachDB or YugabyteDB, adding new columns is often online, but not always free. Schema change jobs still compete for cluster resources. Monitor before and after latency.