Adding a new column is never just an ALTER TABLE command. It can block reads and writes, lock the table, flush caches, and trigger long-running migrations. On high-traffic systems, one misstep can cause downtime or data loss. The operation must be planned and executed with precision.
First, check the storage engine. In MySQL, InnoDB might require a full table copy unless you use ALGORITHM=INPLACE or ALGORITHM=INSTANT (when supported). In PostgreSQL, adding a nullable column with a default can rewrite the entire table; if possible, add it without a default and backfill in batches. In distributed databases, schema changes propagate across nodes, so monitor replication lag and cluster health.
Keep transactions short. Use automated migration tools where possible, but vet their locking behavior. Monitor CPU, I/O, and query performance during the change. Always run the migration in staging first with realistic data sizes.