You add it, but the migration drags. Queries break. Indexes slow. Code reviewers question the risk. What should be easy becomes a bottleneck. A single schema change cascades across staging, production, and analytics.
A new column isn’t just about storage space. It means rewriting queries, updating ORM models, and reviewing API responses. If the column is nullable, it adds complexity to joins. If it’s indexed, you must balance read speed against write performance. Even a small change forces you to think about constraints, defaults, and backfills.
In relational databases, adding a new column is a DDL operation. In MySQL or PostgreSQL, certain column changes block writes until complete. For wide tables under heavy load, this can cause downtime or degraded performance. Migrating in zero-downtime steps—create the column with NULLs, backfill in batches, then set defaults—reduces risk.
In NoSQL stores, adding a new field is schema-on-write. This gives flexibility but puts validation in application logic. Without strict checks, inconsistent data shapes creep in. Planning and observability matter.