Creating a new column isn’t just ALTER TABLE ADD COLUMN. It starts with intent. Know why it exists, how it will be populated, and which systems will depend on it. Decide early on nullability, default values, and type constraints. These choices set the rules your database will enforce forever.
Performance matters. Adding a column to a large table can lock rows, block writes, and slow down your system. For production systems, plan zero-downtime migrations. Use staged rollouts: first add the column as nullable, backfill data in batches, then set constraints. Always measure the impact with monitoring and benchmarks.
Indexing is not automatic. If the new column will be filtered or sorted often, create an index. If it will be part of a composite index, test its position and effect on query patterns. Avoid over-indexing—every index has a storage and write cost.