The query runs fast until you need a new column. Then the database freezes. Everything waits.
A new column changes the shape of your data. It can break indexes, trigger rewrites, and cascade through every dependent query. Adding one without a plan can cause downtime and inconsistent reads. The safer path is to understand exactly what happens under the hood.
In relational databases, a new column is a schema change. On large tables, this can lock writes, replay logs, and flush caches. Some engines handle it in place; others rebuild the table entirely. The method depends on the storage engine, data type, defaults, and whether the column is nullable.
When performance matters, use migrations that run in small batches. Define a default value only when required. Avoid heavy types unless they match the data’s actual footprint. For columns with high read frequency, consider the cost of adding them to indexes.