Schema changes can be simple or destructive. Adding a new column seems harmless, but in production it can trigger locks, trigger full table rewrites, or block reads and writes. The impact depends on engine, table size, and constraints. Done right, it’s seamless. Done wrong, it causes downtime or corrupt data.
When you create a new column, first define the data type. Match it exactly to the intended use. A wrong type forces future casts, wastes storage, and slows queries. If you add a NOT NULL column with a default value, some systems rewrite the entire table. Others store metadata only. Know how your database handles it before running ALTER TABLE.
In PostgreSQL, adding a nullable column is instant. Adding with DEFAULT may rewrite, unless it’s the constant optimization available since version 11. In MySQL, adding a column can be fast with ALGORITHM=INPLACE, but not all changes qualify. In SQL Server, computed columns may avoid data duplication but have index costs.