如果您终止长时间运行的alter查询会发生什么?alter query会简单地还原吗?这需要多长时间(作为已经运行的时间的一部分)?
如果将该查询复制到另一台服务器上该怎么办?是否会杀死其他服务器上的进程还原原始服务器的alter query?
我们正在运行mysql
dav*_*vek 17
这取决于你在做什么.如果你an alter table...add index
在一个InnoDB
表上运行命令(不太确定MyISAM
),那么它将运行并运行,因为它首先复制整个darn表lock-stock-and-barrel:如果它在"copy to temp table"的中间"那么它几乎是不可阻挡的.
在大多数情况下,ALTER TABLE通过制作原始表的临时副本来工作.对副本执行更改,然后删除原始表并重命名新表.在执行ALTER TABLE时,原始表可由其他会话读取.对表的更新和写入将停止,直到新表准备就绪,然后自动重定向到新表,而不会有任何失败的更新.