Mysql ALTER TABLE 阶段事件

来自泡泡学习笔记
跳到导航 跳到搜索

按照发生顺序,ALTER TABLE 阶段事件包括:

  • stage/innodb/alter table(读取主键并内部排序 read PK and internal sort):当 ALTER TABLE 处于读取主键阶段时,此阶段处于活动状态。它从 WORK_COMPLETED=0 开始,WORK_ESTIMATED 设置为主键中估计的页数。当该阶段完成时,WORK_ESTIMATED 会更新为主键中的实际页数。
  • stage/innodb/alter table(合并排序 merge sort):对于 ALTER TABLE 操作添加的每个索引,此阶段都会重复。
  • stage/innodb/alter table(插入 insert):对于 ALTER TABLE 操作添加的每个索引,此阶段都会重复。
  • stage/innodb/alter table(应用索引的日志 log apply index):此阶段包括应用在 ALTER TABLE 运行时生成的 DML 日志。
  • stage/innodb/alter table(刷新 flush):在此阶段开始之前,基于刷新列表的长度,WORK_ESTIMATED 会使用更准确的估计值进行更新。
  • stage/innodb/alter table(应用表的日志 log apply table):此阶段包括应用在 ALTER TABLE 运行时生成的并发 DML 日志。此阶段的持续时间取决于表更改的程度。如果表上没有运行并发 DML,则此阶段是瞬间完成的。
  • stage/innodb/alter table(结束 end):包括刷新阶段之后出现的任何剩余工作,例如重新应用在 ALTER TABLE 运行时对表执行的 DML。