Adding a new column is simple in code, but it is never trivial in production. It can lock tables, stall writes, or break integrations. The schema change is permanent unless you roll it back, and rollbacks are costly. Speed, safety, and visibility are the real challenges.
A NEW COLUMN statement in SQL can trigger a full table rewrite, depending on the database engine and the data type. For PostgreSQL, adding a nullable column with a default can be instant or catastrophic, depending on version. For MySQL, ALTER TABLE can block reads unless you use ONLINE DDL. For distributed databases, the change must propagate across shards without fragmenting indexes or breaking replication.
Before deploying, review the column definition. Decide if it should be NULL or NOT NULL. Set sensible defaults, but avoid adding them inline if they cause table rewrites. Consider backfilling data in batches. Monitor query plans after the migration; a NEW COLUMN may affect indexes or statistics.