Alter table modify更改表结构不会阻塞其他会话的update/delete吗?

在会话一:执行Alter table t1 modify更改表结构(t1表2000万行记录)
在会话二:执行update t1 set c=‘xxx’ where id<=10;
如果是MySQL,会话二是会被阻塞掉的,需要等待ALTER结束才可以update。

但我发现TiDB,在Alter table t1 modify期间,会话二是可以update和delete的。

请问是这样设计的吗?

是的,这叫online ddl
https://docs.pingcap.com/zh/tidb/v7.6/ddl-introduction#tidb-在线-ddl-异步变更的原理

好的,谢谢。

高版本的在线ddl对业务好像影响不大

在线DDL

不会的,支持在线

online ddl