Adding a new column sounds simple. In practice, it sits at the intersection of schema design, system performance, and live user traffic. A single migration can be fast, or it can stall every query in your database if done wrong.
A new column can store values that unlock features, track metrics, calculate states, or enable API responses without expensive joins. The key is deciding its type, constraints, and defaults before you ever write ALTER TABLE.
For relational databases like PostgreSQL or MySQL, adding a column without a default is often instant. Adding one with a non-null default can trigger a full table rewrite, which can lock rows for minutes or hours on large datasets. Use NULL where possible, migrate values separately, and only enforce constraints once the data is ready.
NoSQL systems treat columns differently. In MongoDB, a new field can appear in updated documents without impacting older records. In BigQuery or similar columnar stores, schema changes may not affect storage but can influence query cost and indexing.