The database is fast, but your query stalls. You need a new column. You add it, deploy, and wait. The wrong approach can lock tables, slow reads, and block writes. The right approach makes the change in seconds without downtime.
A new column is one of the most common schema changes in production databases. Done poorly, it can cause service disruption. Done well, it is invisible to the end user. The steps depend on your database engine, data type, and indexing strategy. In PostgreSQL, adding a column without a default is instant. Adding one with a default rewrites the entire table unless you use a computed value on read, then backfill asynchronously. In MySQL, ALTER TABLE can be blocking unless you use ONLINE DDL or tools like pt-online-schema-change.
When planning a new column, define its purpose and constraints before writing the migration. Avoid NULL defaults unless they match the intended contract. Store only the data needed, in the smallest type possible. Consider indexing only after the column is live and partially populated; indexing empty columns wastes resources.