Adding a new column changes more than the shape of a table. It changes the way data moves, the way queries run, and the way your system behaves under load. Done well, it’s seamless. Done wrong, it locks the database, drops performance, or breaks critical code paths.
A new column starts with a decision: define its purpose before touching the schema. Name it with intent. Choose the data type to match both storage efficiency and future needs. For high-traffic systems, think about how writes and reads will scale.
Plan migrations so they run without blocking production traffic. Use online schema changes when supported. Avoid adding default values that rewrite every row if the table is large. For distributed databases, verify that replication lag can tolerate the schema update.