When you add a new column in SQL, you are altering the table structure. Even a single field forces your database to rewrite metadata, update constraints, and adjust indexes. In small tables this is instant. In large production systems with millions of rows, it can lock writes, backlog queries, and risk downtime.
Plan the new column before you write the migration. Decide on its data type, nullability, and default value. Use NULL if the column is optional to avoid filling every row. Add sensible defaults if your application expects values right away. Avoid setting defaults that trigger full table rewrites unless necessary.
Indexing a new column can speed up queries, but creates write overhead. Measure the read/write balance before creating the index. When adding indexes online, use migration tools that support concurrent builds to keep the database available.
For deployments, consider rolling the new column out in stages. First, add it with no constraints. Then update application code to write data into it. Only after verifying population and usage should you enforce NOT NULL or other strict rules. This avoids downtime and lets you test under real load.