From bc60b1e2925a400aa8188e035782ec2945123e57 Mon Sep 17 00:00:00 2001 From: Nicolas Lupien Date: Wed, 6 Dec 2023 12:58:59 -0500 Subject: [PATCH] [5.0.x] Fixed #35015 -- Updated MySQL notes in migrations topic. Backport of d4c583682e7afc2b4e953b8c85af17f1c1514ba9 from main --- docs/topics/migrations.txt | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/topics/migrations.txt b/docs/topics/migrations.txt index b7cd7043c2..74f6fddad6 100644 --- a/docs/topics/migrations.txt +++ b/docs/topics/migrations.txt @@ -77,16 +77,17 @@ meaning that if a migration fails to apply you will have to manually unpick the changes in order to try again (it's impossible to roll back to an earlier point). -In addition, MySQL will fully rewrite tables for almost every schema operation -and generally takes a time proportional to the number of rows in the table to -add or remove columns. On slower hardware this can be worse than a minute per -million rows - adding a few columns to a table with just a few million rows -could lock your site up for over ten minutes. +MySQL 8.0 introduced significant performance enhancements for +`DDL operations`_, making them more efficient and reducing the need for full +table rebuilds. However, it cannot guarantee a complete absence of locks or +interruptions. In situations where locks are still necessary, the duration of +these operations will be proportionate to the number of rows involved. -Finally, MySQL has relatively small limits on name lengths for columns, tables -and indexes, as well as a limit on the combined size of all columns an index -covers. This means that indexes that are possible on other backends will -fail to be created under MySQL. +Finally, MySQL has a relatively small limit on the combined size of all columns +an index covers. This means that indexes that are possible on other backends +will fail to be created under MySQL. + +.. _DDL operations: https://dev.mysql.com/doc/refman/en/innodb-online-ddl-operations.html SQLite ------