我有一个带有 400 万行的 MyISAM 表的 MySQL 数据库。我大约每周用大约 2000 行更新这个表。更新后,我然后像这样更改表:
ALTER TABLE x ORDER BY PK DESC
我按主键字段降序对表进行排序。这在我的开发机器(具有 3GB 内存的 Windows)上没有给我任何问题。我已经在生产 Linux 服务器上成功尝试了 3 次(使用 512MB 内存 - 每次大约 6 分钟即可获得结果排序表),最后一次尝试时我不得不在大约 30 分钟后停止查询并重建来自备份的数据库。
一个 512MB 的服务器能应付这么大的表上的 alter 语句吗?我读过创建了一个临时表来执行 ALTER TABLE 命令。
问:这个alter命令可以安全运行吗?更改表格的预期时间应该是多少?