How do you run non-blocking schema changes in MySQL? This is an
eternal question. With a plethora of 3rd party solutions and with
recent advancements in MySQL, it's difficult to track which
solution is preferable for a given schema migration. In this
post, we provide a high level overview of the state of MySQL
online schema migrations in 2024. We limit the discussion to
ALTER TABLE statements, as other DDL statements are
typically fast (DROP TABLE is somewhat of
an exception, but out of scope of this post).
We'll first examine the native MySQL options:
INPLACE and INSTANT. For reference, see
Online DDL Operations MySQL 8.0 documentation.
…
[Read more]