我有一个运行了几个小时的查询,如果我取消这个查询,数据库会发生什么?
该查询是一个ALTER TABLE
添加新列的查询。
更新:我这样执行了脚本
mysql -u username -p database
mysql> ALTER TABLE `table_name` ADD COLUMN `new_column` INT(1);
答案1
据我所知你可以运行:
要查看它是什么线程然后终止它:
在 ALTER TABLE 期间,在从原始表读取每个行块之前都会检查 kill 标志。如果设置了 kill 标志,则中止该语句并删除临时表。
关于副作用,我无法确切地告诉您会发生什么。
答案2
我可能错了,但如果你没有指定BEGIN TRANSACTION
,那么每个命令都是一个独立的事务。
因此,当您取消查询时不应该有任何副作用。