更新时间:2025-05-14 gmt 08:00

ddl进度显示-j9九游会登录

功能介绍

大表的ddl操作往往会比较耗时,社区版mysql无法感知整个ddl的进行阶段与该阶段的进度,可能给用户带来很大的困扰。

针对以上问题,华为云rds for mysql推出了ddl进度显示特性,用户可以通过查询“information_schema.innodb_alter_table_progress”表来实时查看当前的ddl语句所进行的阶段,以及该阶段的进度。

约束限制

该功能仅支持rds for mysql 5.7版本。

功能特点

表1 innodb_alter_table_progress表字段详解

字段

说明

thread_id

线程id

query

alter table sql语句内容

start_time

ddl开始时间

elapsed_time

已执行的时间(s)

alter_table_stage

当前执行的内容

stage_completed

已完成的工作单位

stage_estimated

预估的工作单位

一个ddl从开始到结束可能有下面几个阶段(alter_table_stage字段的值):

  • stage/innodb/alter table (read pk and internal sort):读取主键。
  • stage/innodb/alter table (merge sort):根据主键排序,这个过程可能较慢,因为会有临时文件生成。
  • stage/innodb/alter table (insert):将排序后的数据插入表中。
  • stage/innodb/alter table (log apply index):将ddl过程中客户执行的dml日志应用到本次创建/修改的索引。
  • stage/innodb/alter table (flush):数据刷盘。
  • stage/innodb/alter table (log apply table):将ddl过程中客户执行的dml日志应用到本次创建/修改的表。
  • stage/innodb/alter table (end):结束阶段。

相关文档

网站地图