有人问过类似的问题,但我过去曾使用
ALTER TABLE tablename MODIFY columnname SMALLINT
我上次运行时发生了服务器崩溃,不得不恢复我的表。当表中有这么多数据时,使用此命令是否安全?如果有其他查询可能在表上并行运行怎么办?我应该复制表并在新表上运行查询吗?我应该复制列并将数据移动到新列吗?
请让我知道这样做时是否有任何最佳或“最安全”的做法。
另外,我知道这取决于很多因素,但是有谁知道查询应该在大约 550 万行(粗略估计)的 InnoDB 表上花费多长时间?有问题的列是 TINYINT,其中包含数据。我想升级到 SMALLINT 来处理更大的值。
谢谢!