Adding one sounds simple. It’s not. A new column can break queries, slow writes, and lock tables. Done wrong, it takes down production. Done right, it slides into place without anyone noticing—except the people who care about performance and uptime.
A new column changes the contract between your database and every piece of code that touches it. Before running ALTER TABLE, you need to know how it will impact storage, indexes, migrations, and application logic. On large datasets, adding a column with a default value can rewrite the entire table, triggering full table locks. Zero downtime requires careful planning: online schema changes, column backfills, and phased rollouts.
In SQL databases like PostgreSQL and MySQL, adding a nullable column is often fast, but adding a column with a NOT NULL constraint or a non-trivial default can be costly. In NoSQL systems, a new field might be schema-less in the database but still requires changes in consumers, serializers, and validation layers. This is why schema evolution is about more than data definition—it’s a release process.