Documentation Home
MySQL 9.0 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.8Kb
Man Pages (Zip) - 365.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 Reference Manual  /  ...  /  Configuring Parallel Threads for Online DDL Operations

17.12.5 Configuring Parallel Threads for Online DDL Operations

The workflow of an online DDL operation that creates or rebuilds a secondary index involves:

  • Scanning the clustered index and writing data to temporary sort files

  • Sorting the data

  • Loading sorted data from the temporary sort files into the secondary index

The number of parallel threads that can be used to scan clustered index is defined by the innodb_parallel_read_threads variable. The default setting is calculated by the number of available logical processors on the system divided by 8, with a minimum default value of 4. The maximum setting is 256, which is the maximum number for all sessions. The actual number of threads that scan the clustered index is the number defined by the innodb_parallel_read_threads setting or the number of index subtrees to scan, whichever is smaller. If the thread limit is reached, sessions fall back to using a single thread.

The number of parallel threads that sort and load data is controlled by the innodb_ddl_threads variable. The default setting is 4.

The following limitations apply:

  • Parallel threads are not supported for building indexes that include virtual columns.

  • Parallel threads are not supported for full-text index creation.

  • Parallel threads are not supported for spatial index creation.

  • Parallel scan is not supported on tables defined with virtual columns.

  • Parallel scan is not supported on tables defined with a full-text index.

  • Parallel scan is not supported on tables defined with a spatial index.