Adding a new column is one of the most common schema changes. Done right, it’s clean and safe. Done wrong, it slows queries, locks writes, and breaks integrations. The key is understanding how your database handles schema changes in production.
In relational databases like PostgreSQL, ALTER TABLE ADD COLUMN is straightforward. The command changes the table definition instantly because the database stores metadata separately from row data. If you add a nullable column with no default value, there is almost no performance impact. But if you set a default on a large table, the change touches every row. This can trigger long locks and spikes in CPU and I/O.
In MySQL, ALTER TABLE can be more expensive. Depending on the engine, adding a new column may require the table to rebuild. Online DDL features reduce the pain, but you still need to watch out for replication lag.