A new column seems simple. It is not. Each addition changes the schema, the indexes, the query plans. It impacts latency. It shifts how your data flows and how your code calls it. A new column changes the shape of your contracts between systems. Ignore that, and you ship fragility into production.
Before adding a new column, map its purpose. Is it nullable? Does it need a default value? Adding a column with a non-null constraint and no default in a large table locks writes. Even tiny tables can spike CPU when you rewrite all rows. If you must backfill data, stage the migration so rows update in small batches.
Plan your indexes. A new column without proper indexing can become a bottleneck if it joins on large datasets. But the wrong index can bloat storage and slow inserts. Profile your workload first. Run EXPLAIN before and after the change. Measure, don’t assume.