A new column changes the shape of data. It adds a field, a dimension, an axis of information. In SQL, the operation is simple:
ALTER TABLE users ADD COLUMN last_login TIMESTAMP;
But the simplicity hides the cost. On large tables, adding a column can lock writes. It can trigger full table rewrites. It can slow queries if indexes aren’t updated. The larger the dataset, the more dangerous the operation.
Choosing the right column type matters. Use the smallest type that fits the data. A BOOLEAN is cheaper than an INT. A VARCHAR(32) is faster than a TEXT. For time tracking, prefer TIMESTAMP WITH TIME ZONE in distributed systems.
If the new column needs a default value, set it carefully. In PostgreSQL, adding a column with a constant default rewrites the full table unless you use an expression-based default or defer value backfilling. In MySQL, even small changes can require schema locks depending on the storage engine.