我可以在 mysql 中看到“通过排序修复”的状态吗?

chr*_*ris 6 mysql amazon-rds

我在一个非常大的表上运行一个alter 语句。

show processlist 将状态显示为“按排序修复”。

有没有办法查看状态,或估计已完成/剩余的工作量?

谢谢。

Rol*_*DBA 6

Repair by sorting是创建临时表、填充临时索引文件并为目标准备所有索引的阶段。这需要在操作系统中查看临时文件的大小以及数据和时间戳。

如果你需要看到这样的进步,你可以做两件事

  • 将数据库迁移到 Amazon EC2 中的 MySQL,您可以在其中拥有操作系统级别的访问权限
  • 将数据库迁移到 Amazon EC2 中的 MariaDB,因为 MariaDB 在 DDL 上提供了计量进度:请参阅我的帖子是否有 OPTIMIZE TABLE 进度的进度指示器?

除了这些建议,您别无他法。