Adding a new column seems simple. In production, it can break everything if you get it wrong. Schema changes touch live data. They can lock tables, spike CPU, and block writes. The right approach depends on scale, downtime tolerance, and your database engine.
In PostgreSQL, ALTER TABLE ADD COLUMN is fast if the column allows nulls and has no default. Adding a non-null column with a default rewrites the whole table. That means high I/O and potential downtime. For MySQL, the story changes by version. MySQL 8 can add certain columns instantly, but older versions rebuild tables. Always check the execution plan before running migration scripts.
For large datasets, online schema change tools like gh-ost or pt-online-schema-change reduce lock time. They copy data into a new table with the extra column, then swap it in with minimal blocking. This pattern works but requires testing under production-like load.