A new column changes the schema. In MySQL, ALTER TABLE often copies the table for large datasets. This can mean hours of downtime unless you use an online schema change tool. PostgreSQL can add certain column types instantly, but not all. Nullable columns with defaults behave differently across engines. If you default to NOW() or UUID(), some systems will recalculate for every row insert. You need to understand the execution path before running the migration.
Index strategy is just as important. Adding an indexed column can cause a full rebuild of the index tree. For write-heavy systems, this can block traffic. Plan to add the column first, backfill in controlled batches, then build indexes with minimal load.
In distributed systems, schema changes must be deployed in stages. Rolling out a new column while older code is still writing data can lead to inconsistent states. Use backwards-compatible changes. Stage the deployment: add the column, deploy code that populates it, migrate data, then deploy code that reads from it. Finally, remove any legacy fields only when confirmed unused.