当 CREATE INDEX 被中断(手动或意外)时会发生什么?

dat*_*.io 3 mysql index

为数百万行的表创建索引需要数小时甚至数天。

当 CREATE INDEX 被中断时,数据库/数据会发生什么?例如当我手动使用 Ctrl-C 或出现断电等事故时。

它会对数据库/数据造成伤害吗?

如果是这样,我们如何从这种中断中恢复过来?

sar*_*rme 5

索引创建是在事务中完成的。如果您中断它,SQL Server 将回滚事务。这可能需要一段时间,但它是无害的。当然,在事务处于活动状态时会持有锁,因此这会影响服务器的性能。

如果中途断电,SQL Server 会在服务器启动时自动回滚部分完成的事务。同样,性能会受到影响,但不会对您的数据造成损害。

http://technet.microsoft.com/en-us/library/ms188317(v=sql.105).aspx

http://technet.microsoft.com/en-us/library/ms190925.aspx

http://technet.microsoft.com/en-us/library/aa224747(v=sql.80).aspx