Adding a new column to a database sounds simple until the production edge cases start biting. Schema changes are one of the most common — and most dangerous — operations in data systems. When done wrong, they block queries, lock tables, and break downstream services. When done right, they unlock features, enable faster queries, and keep the system stable under load.
A new column is not just about ALTER TABLE. Different engines treat schema updates in different ways. In MySQL, a blocking migration on a large table can stall writes and stop traffic. PostgreSQL can add some columns instantly, but defaults or type changes may still rewrite the entire table. In distributed SQL, adding a column may involve background rebalancing across nodes.
Good practice starts with knowing the access patterns. Will the new column be indexed? Will it store NULL for most rows, or have a default value? Adding an indexed column to a table with billions of rows is a risk without online index creation. Adding a column with a computed default can spike CPU as every row gets rewritten.