Adding a new column sounds simple. In practice, schema changes are where systems fail under load. The wrong approach locks tables, drops queries, and slows deployments. The right approach makes the change invisible to the users and safe for production.
A new column in SQL begins with ALTER TABLE. On small datasets, this runs in seconds. On large, active tables, it can trigger blocking reads and writes. For PostgreSQL, use ADD COLUMN with a default value applied in two steps: first create the column without the default, then backfill in batches, then set the default. This avoids full table rewrites. In MySQL, use ONLINE DDL if available to reduce downtime. In distributed systems, coordinate schema migrations with application deployments so old code paths don’t break against new structures.
Search indexes may need to be rebuilt to include the new column. Foreign keys and constraints should be deferred until after validation. Monitor query plans post-migration; unused columns can still impact performance if they trigger wider scans.