You can add a new column to a database table fast, but speed is not the only concern. A careless migration can block writes, lock rows, consume memory, or force full table rewrites. The difference between a smooth deployment and a service outage comes down to planning.
Before adding a new column, define its type and default value with precision. Avoid nullable defaults unless they are essential. Know how your database engine stores and indexes the column. In PostgreSQL, adding a column with a default can rewrite the entire table; using a default expression can avoid heavy locks. In MySQL, altering a table with billions of rows may require online DDL or tools like pt-online-schema-change to keep the system available.
Index design is critical. Creating an index on the new column during the same migration can add hours to the process. Split schema changes into steps: add the column first, backfill data in controlled batches, then create indexes if needed. Use lock-free operations where your system supports them.