MySQL 8.4 Release Notes
17.12.5 配置并行线程用于在线 DDL 操作
在线 DDL 操作创建或重建次要索引的工作流程涉及:
-
扫描聚簇索引并将数据写入临时排序文件
-
对数据进行排序
-
从临时排序文件加载已排序的数据到次要索引
可以用于扫描聚簇索引的并行线程数量由 innodb_parallel_read_threads
变量定义。默认设置是系统可用逻辑处理器数除以 8,且最小默认值为 4。最大设置为 256,这是所有会话的最大数量。实际用于扫描聚簇索引的线程数量是 innodb_parallel_read_threads
设置或要扫描的索引子树数量中的较小者。如果达到线程限制,会话将回退到使用单个线程。
控制并行排序和加载数据的线程数量由 innodb_ddl_threads
变量定义。默认设置为 4。
以下限制适用:
-
并行线程不支持包含虚拟列的索引创建。
-
并行线程不支持全文索引创建。
-
并行线程不支持空间索引创建。
-
并发扫描不支持定义了虚拟列的表。
-
并发扫描不支持定义了全文索引的表。
-
并发扫描不支持定义了空间索引的表。