Adding a new column sounds simple, but in a production system it can be costly if not planned. Run the wrong ALTER TABLE and you can lock writes for minutes or hours. Select the wrong data type and storage costs grow. Mismanage defaults and application errors appear without warning.
A new column changes schema, queries, and sometimes the way data moves through services. Before adding one, map the dependencies. Check which services read from or write to the table. Trace ORM models, background jobs, and ETL pipelines. If the column will be nullable, confirm how nulls propagate. If it requires a default value, decide whether to backfill existing rows or lazily populate them.
On large datasets, online schema change tools can add a new column without downtime. In MySQL, use pt-online-schema-change or gh-ost. In PostgreSQL, adding a nullable column is fast, but adding one with a default on big tables can lock writes unless done in phases. For distributed databases, watch for replication lag when schema changes hit replicas.