Adding a new column sounds simple. It often is not. In high-load systems, schema changes can slow queries, lock tables, or break existing code paths. Performance, migration strategy, and rollouts must be in sync. Getting it wrong in production means outages or data loss.
The first step in adding a new column is planning the migration path. Decide if the column is nullable, has a default, or needs backfilled data. A NULLable column with no default is fast to add in most relational databases. A NOT NULL column with a default may rewrite the whole table.
Use online schema change tools when working with large datasets. In MySQL, tools like pt-online-schema-change or gh-ost can add a column without locking writes. In Postgres, adding a column with a default value before version 11 rewrote the table; now it is much faster if the default is constant. Always validate your database version before deciding the migration path.
Test the migration script in a staging environment using production-like data volumes. Measure the time it takes. Monitor CPU, memory, replication lag, and query performance while it runs.