Adding a new column sounds simple. It can be fast, or it can break production. The difference is in how you design, migrate, and serve it. Whether you use PostgreSQL, MySQL, or a distributed database, a new column changes storage, indexes, and queries. Even if the schema migration looks harmless, every read and write path now carries its shape.
First rule: never block the main thread. Schema changes on large datasets must run without locking tables for minutes or hours. Use ALTER TABLE with care. In Postgres, ADD COLUMN can be instant for nullable fields with a default of NULL, but not for defaults with values—it will rewrite the table. MySQL may rebuild depending on storage engine. Always check the execution plan before applying it to production.
Second: know the impact on indexes. A new column itself doesn’t create an index, but once you index it, every insert and update pays the cost. Analytics columns might need no index at all; query-heavy columns might need one immediately. The wrong choice affects read latencies or write throughput for months.