Adding a new column should start with clarity. Define the exact name, type, and purpose. Confirm constraints. Avoid nullable fields unless they serve a clear use case. Map how existing queries, writes, and joins will react. Every new column carries operational weight on the database engine.
Performance matters. Adding a column to massive tables can lock writes and slow reads during migration. Plan for zero-downtime strategies. Use background schema changes where possible. Consider splitting states: deploy the column first, populate it incrementally, then switch application logic.
Indexing is not automatic. A new column without proper indexing stays invisible to query planners, forcing full scans. Measure query patterns before deciding on an index. Avoid premature indexing that bloats disk and slows inserts.