Rechercher dans le manuel MySQL
15.12.3 Online DDL Space Requirements
Space requirements for in-place online DDL operations are outlined below. Space requirements do not apply to operations that are performed instantly.
Space for temporary log files
A temporary log file records concurrent DML when an online DDL operation creates an index or alters a table. The temporary log file is extended as required by the value of
innodb_sort_buffer_size
up to a maximum specified byinnodb_online_alter_log_max_size
. If a temporary log file exceeds the size limit, the online DDL operation fails, and uncommitted concurrent DML operations are rolled back. A largeinnodb_online_alter_log_max_size
setting permits more DML during an online DDL operation, but it also extends the period of time at the end of the DDL operation when the table is locked to apply logged DML.If the operation takes a long time and concurrent DML modifies the table so much that the size of the temporary log file exceeds the value of
innodb_online_alter_log_max_size
, the online DDL operation fails with aDB_ONLINE_LOG_TOO_BIG
error.Space for temporary sort files
Online DDL operations that rebuild the table write temporary sort files to the MySQL temporary directory (
$TMPDIR
on Unix,%TEMP%
on Windows, or the directory specified by--tmpdir
) during index creation. Temporary sort files are not created in the directory that contains the original table. Each temporary sort file is large enough to hold all secondary index columns plus the primary key columns of the clustered index. Temporary sort files are removed as soon as their contents are merged into the final table or index. Temporary sort files may require space equal to the amount of data in the table plus indexes. An online DDL operation that rebuilds the table reports an error if it uses all of the available disk space on the file system where the data directory resides.If the MySQL temporary directory is not large enough to hold the sort files, set
tmpdir
to a different directory. Alternatively, define a separate temporary directory for online DDL operations usinginnodb_tmpdir
. This option was introduced to help avoid temporary directory overflows that could occur as a result of large temporary sort files.Space for an intermediate table file
Some online DDL operations that rebuild the table create a temporary intermediate table file in the same directory as the original table. An intermediate table file may require space equal to the size of the original table. Intermediate table file names begin with
#sql-ib
prefix and only appear briefly during the online DDL operation.The
innodb_tmpdir
option is not applicable to intermediate table files.
Traduction non disponible
Le manuel MySQL n'est pas encore traduit en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.
Document créé le 26/06/2006, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/mysql-rf-innodb-online-ddl-space-requirements.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.