Adding a new column to a database table should be simple. It rarely is. Every schema change has consequences for performance, reliability, and maintainability. Treat a new column as code. Plan it, test it, and ship it with the same discipline as any feature.
Start by defining the purpose of the new column. Is it storing data that belongs to this table? Will it affect indexes? Will it change query patterns? Document the data type, nullability, and default values. Avoid hidden conversions or implicit casts that can slow queries.
In relational databases, altering tables with millions of rows can lock writes. Use online schema change tools when possible. In PostgreSQL, ALTER TABLE ADD COLUMN with a default value rewrites the table. Adding it without a default and populating in batches often reduces lock time. In MySQL, consider ALGORITHM=INPLACE or a migration framework that simulates it.
Review the impact on application code. A new column may break serialization, ORM mappings, or APIs. Update versioned entities, add unit tests, and integrate changes into staging environments. Monitor query execution plans before and after deployment to confirm performance.