The table was slowing you down. Queries crawled, reports lagged, and every change meant pain. You knew the schema needed a new column, but the decision was easy. The execution was not.
Adding a new column sounds simple. In practice, it can lock tables, spike CPU, and push users into timeout errors. The process differs between MySQL, PostgreSQL, and SQL Server, but the core risk is the same: schema changes on large datasets can hurt uptime.
Before you add a new column in production, inspect your indexes. Adding a non-null column with a default value forces a table rewrite in many databases. This rewrite can block reads and writes. If possible, add the column as nullable, then backfill in small batches to avoid downtime. For MySQL, use ALGORITHM=INPLACE or ONLINE where supported. For PostgreSQL, adding a nullable column with no default is instant because it uses metadata-only changes.