Adding a new column is one of the most common changes in database development. Done right, it’s fast, safe, and doesn’t break existing queries. Done wrong, it can lock tables, slow down reads, and cause outages. The difference comes down to planning and execution.
First, decide if the new column is nullable. If not, you’ll need a default value to avoid failure on insert. Keep in mind that adding a non-null column with no default will force the database to rewrite every row, which can be slow on large datasets.
Second, consider indexing. A new column might become a filter in queries or a join key. Indexing up front can prevent full table scans, but unnecessary indexes waste memory and slow writes. Use EXPLAIN on expected queries before you decide.
Third, think about deployment strategy. For big tables, use an online schema change tool or break the change into steps: