The table waits, but something is missing. You need a new column, and you need it without breaking production.
Adding a new column in a database seems simple, but it can wreck performance if you do it wrong. Schema changes can lock rows, spike CPU, and stall queries. The smart move is to plan it like you would a deployment: control the blast radius, keep read and write paths safe, and roll it out in a way that works at scale.
First, decide what kind of new column you need. Is it nullable, has a default value, or requires backfilling? In most relational databases, adding a nullable column is cheap. Adding a column with a default that requires rewriting every row can be expensive. The difference matters when your table has millions of records.
Next, apply the change. Using tools that perform online schema migrations helps prevent downtime. In MySQL, ALTER TABLE with ALGORITHM=INPLACE can be safe for some operations. PostgreSQL handles many ADD COLUMN operations instantly if the new column is nullable without a default. For heavy changes, break the operation into steps: