Adding a new column sounds simple, but in production systems it can trigger schema locks, slow queries, and downtime that impacts users. The safest path is to understand exactly how your database handles ALTER TABLE, how it stores data on disk, and what your migration tool will do behind the scenes.
First, decide the type and constraints of the new column. Use the smallest data type that fits. If you must make it NOT NULL, assign a default value during the migration to avoid rewriting the table twice. Always test on a staging environment with production-level data size to measure the impact.
Second, apply the schema change in a way that minimizes blocking. In MySQL, consider ALGORITHM=INPLACE for supported changes. In PostgreSQL, adding a nullable column without a default is fast, but adding a default rewrites the table—avoid it unless necessary. Use tools like pt-online-schema-change or pg_repack for large tables in high-traffic databases.