线上服务宕机,码农试用期被毕业,原因竟是给MySQL加个字段( 二 )


LOCK可以指定执行过程中,是否加锁,可选项有:

  • NONE
    不加锁,允许DML操作 。
  • SHARED
    加读锁,允许读操作,禁止DML操作 。
  • DEFAULT
    默认锁模式 , 在满足DDL操作前提下,默认锁模式会允许尽可能多的读操作和DML操作 。
  • EXCLUSIVE
    加写锁,禁止读操作和DML操作 。
Online DDL并不是支持所有DDL操作 , 看一下到底支持哪些操作?
操作InstantInplaceRebuilds Table允许并发DML仅修改元数据添加列YesYesNoYesNo删除列NoYesYesYesNo重命名列NoYesNoYesYes更改列顺序NoYesYesYesNo设置列默认值YesYesNoYesYes更改列数据类型NoNoYesNoNo设置VARCHAR列大小NoYesNoYesYes删除列默认值YesYesNoYesYes更改自动增量值NoYesNoYesNo设置列为nullNoYesYesYesNo设置列not nullNoYesYesYesNo像最常见的添加列就可以使用Instant , 而像删除列、重命名列、更改列数据类型就只能使用Inplace了 。
线上服务宕机,码农试用期被毕业,原因竟是给MySQL加个字段

文章插图

推荐阅读