A new column changes more than schema. It moves data, shifts indexes, and can block writes. In production, that cost is real. The right approach is deliberate.
First, assess if the new column is necessary. Every column has a read and write cost. Every column also changes how queries perform. Avoid adding a new column just to store data that can be derived or joined.
When the need is clear, select the correct data type. Keep it small. Use integers over strings where possible. Avoid nullable columns if you can; they complicate query plans and indexing.
Plan schema changes with migration tools that can run online. In MySQL, use pt-online-schema-change or gh-ost. In PostgreSQL, watch out for operations that require full table rewrites. Break large changes into smaller steps—add the new column first, backfill in batches, then add constraints or indexes. This prevents long locks that can take down services.