创建或重建二级索引的在线 DDL 操作的工作流程包括:
- 扫描聚集索引并将数据写入临时排序文件
- 对数据进行排序
- 将临时排序文件中的排序数据加载到二级索引中
可用于扫描聚集索引的并行线程数由 innodb_parallel_read_threads 变量定义。默认设置为 4。最大设置为 256,这是所有会话的最大数量。实际扫描聚集索引的线程数是 innodb_parallel_read_threads 设置定义的数量或要扫描的索引子树的数量,以较小者为准。如果达到线程限制,会话将回退到使用单个线程。
排序和加载数据的并行线程数由 innodb_ddl_threadsMySQL 8.0.27 中引入的变量控制。默认设置为 4。在 MySQL 8.0.27 之前,排序和加载操作是单线程的。
以下限制适用:
- 构建包含虚拟列的索引不支持并行线程。
- 全文索引创建不支持并行线程。
- 空间索引创建不支持并行线程。
- 使用虚拟列定义的表不支持并行扫描。
- 使用全文索引定义的表不支持并行扫描。
- 使用空间索引定义的表不支持并行扫描。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




