我有一个拥有400万行记录的MyISAM表格的MySQL数据库。我每周更新这个表格,大约会新增2000行数据。更新后,我会像这样修改这个表:
ALTER TABLE x ORDER BY PK DESC
我按照主键字段降序排序表格。在我的开发机器上(拥有3GB内存的Windows),这没有给我带来任何问题。我已经成功尝试了三次在生产Linux服务器上运行它(具有512MB RAM - 并且每次都在约6分钟内获得了结果排序的表格),但最后一次尝试后,我不得不在大约30分钟后停止查询并从备份重建数据库。
一个512MB的服务器是否能处理如此大的表格的alter语句?我已经阅读到一个临时表将被创建来执行ALTER TABLE命令。
问题:这个alter命令是否可以安全地运行?对于表格的修改应该期望多长时间?