Adding a new column to a database table is one of the most common changes in application development. It should be simple. In production, it rarely is. Done wrong, it locks tables, drops performance, or causes downtime. Done right, it feels invisible.
The fastest way to add a new column depends on your database engine, data size, and application needs. With PostgreSQL, ALTER TABLE ADD COLUMN is usually instant if you set a default of NULL and no NOT NULL constraint. Adding a default value without rewriting the table is possible using a two-step migration: first add the new column as nullable, backfill in batches, then apply constraints.
MySQL needs the same caution. Even small schema changes can trigger a table copy. To avoid that, use pt-online-schema-change or tools like gh-ost for zero-downtime column additions. These create the new column and migrate data in the background without blocking queries.