Adding a new column sounds simple. It is not. In production systems, a schema change is a loaded gun. Done wrong, it slows queries, locks tables, blocks writes, or even corrupts data. Every choice you make—data type, nullability, indexing—affects storage, network I/O, and execution plans.
First, define exactly why the new column exists. Scope creep here kills performance later. Use a descriptive name. Stick to proven data types. Keep it narrow; wider columns cost more CPU and memory across joins and aggregations.
Second, choose the right migration strategy. For high-traffic databases, avoid full table rebuilds during peak load. Use techniques like ADD COLUMN with defaults omitted, followed by an UPDATE in small batches. For huge datasets, consider backfilling through a background job that honors replication lag. If zero downtime is critical, wrap the change in a migration tool that supports transactional DDL where possible.