Adding a new column is simple in theory. In practice, it can bring queries to a crawl, trigger lock contention, or cause downtime if handled carelessly. The right approach depends on your database engine, data size, and migration tooling.
In PostgreSQL, ALTER TABLE ADD COLUMN without a default value is fast because it only updates the metadata. But setting a default for existing rows can rewrite the whole table. For large datasets, use NULL initially, backfill in batches, and then set the default.
In MySQL or MariaDB, ALTER TABLE is often a blocking operation unless you use ALGORITHM=INPLACE or ALGORITHM=INSTANT (when supported). For older versions, consider pt-online-schema-change or gh-ost for non-blocking migrations.