The query ran in seconds, but the numbers in the report were wrong. A missing column broke the chain. Adding a new column is simple in theory, but in practice it can undermine performance, trigger downtime, or corrupt stored data if mishandled.
A new column is more than just schema decoration. It changes the shape of the table, the indexes, the query plans, and—often—the assumptions of every service that reads from it. The safest path is precise execution.
First, decide on NULL vs NOT NULL. For large production tables, avoid default values unless they are critical, since setting them on creation can rewrite every row. If you need to backfill, create the column without defaults, then update in batches.
Second, consider data types. A narrow type saves space and speeds scans. Use the smallest type that fully fits the expected range. Adding a VARCHAR(255) when you need VARCHAR(50) costs memory and cache efficiency.