The table is growing, and the data demands more space. You need a new column.
Adding a column should be fast, predictable, and safe. Whether the table holds billions of rows or a handful of entries, the process must not break queries or lock critical workflows. Primary keys, indexes, and constraints must remain intact, and migrations must not stall deployments.
A new column is more than a structural change. It shifts the schema, reshapes queries, and affects read and write operations. Even a nullable field with a default value can add complexity if it touches replicated databases or high-load production systems.
Plan the change.
First, define the column type precisely. Integers, text, JSON, or timestamps each carry their own performance weight.
Second, set constraints only when necessary. A NOT NULL with no default will fail unless every existing row satisfies the rule.
Third, consider indexing only after load testing. An unnecessary index can slow writes and consume space.