Documentation Home
MySQL 8.0 参考手册  / 第 15 章 InnoDB 存储引擎  / 15.12 InnoDB和在线DDL  /  15.12.5 为在线 DDL 操作配置并行线程

15.12.5 为在线 DDL 操作配置并行线程

创建或重建二级索引的在线 DDL 操作的工作流程包括:

  • 扫描聚集索引并将数据写入临时排序文件

  • 排序数据

  • 将临时排序文件中的排序数据加载到二级索引中

可用于扫描聚簇索引的并行线程数由该 innodb_parallel_read_threads 变量定义。默认设置为 4。最大设置为 256,这是所有会话的最大数量。实际扫描聚簇索引的线程数是 innodb_parallel_read_threads 设置定义的数目或要扫描的索引子树数,以较小者为准。如果达到线程限制,会话将退回到使用单个线程。

排序和加载数据的并行线程数由 innodb_ddl_threadsMySQL 8.0.27 中引入的变量控制。默认设置为 4。在 MySQL 8.0.27 之前,排序和加载操作是单线程的。

以下限制适用:

  • 构建包含虚拟列的索引不支持并行线程。

  • 全文索引创建不支持并行线程。

  • 空间索引创建不支持并行线程。

  • 使用虚拟列定义的表不支持并行扫描。

  • 用全文索引定义的表不支持并行扫描。

  • 使用空间索引定义的表不支持并行扫描。