The table waits. Your query runs, but the data is incomplete. You need a new column.
Adding a new column can change how your system works, how fast it runs, and how clean your schema stays. Done right, it unlocks new features without breaking old code. Done wrong, it triggers costly migrations, slows queries, and bloats storage.
The first decision: schema vs. virtual. A physical new column in a relational database writes to disk and alters the table definition. This is the choice when you must persist values or index them for search. But every ALTER TABLE on large datasets can lock rows, eat CPU, and demand downtime unless your database supports concurrent operations. Always measure the cost against the feature’s impact.
A computed or virtual new column keeps your schema lean. You define it at query time or as a computed field in the database. This avoids large-scale data rewrites, but it can add CPU load on reads and limit indexing options. Use it for derived values that change often or depend on other columns.