Adding a new column sounds simple. In production, it can be dangerous. The wrong approach can lock tables, block writes, spike replication lag, or cause downtime. At scale, schema changes are infrastructure changes. They demand precision.
First, know your database engine. In PostgreSQL, ALTER TABLE ... ADD COLUMN is fast if the column allows NULL and has no default. Adding a default with a NOT NULL constraint rewrites the table and can lock it. In MySQL, adding a column without ALGORITHM=INPLACE can copy the full table. The impact gets worse with hundreds of millions of rows.
Plan the new column type. Match storage to usage. Avoid over-allocating text or decimal precision. Index only when queries demand it — each index update adds write cost. If you must backfill data, split the migration: