1.TiDB Server进行解析(Parse)和编译(Compile),生成执行计划
2 将job队列中的DDL语句对应的表全部锁住为只读状态
请教一下大家觉得1/2哪个是ONline DDL必须做的?
我个人觉得应该是1,因为online ddl不阻塞读写。
有老师帮忙看看吗?
2
参考下DDL执行原理
1应该不是ddl必须做的
学到了
确实是2有问题
2 将job队列中的DDL语句对应的表全部锁住为只读状态
这个明显是错误的,
按照执行期间是否阻塞用户业务,DDL 语句可以划分为:
- 离线 DDL 语句:即数据库接收到用户的 DDL 语句后,会先对要修改的数据库对象进行加锁,再执行元数据变更,在 DDL 执行过程中将阻塞用户业务对数据的修改。
- 在线 DDL 语句:即数据库在执行 DDL 语句时,通过一定的方法,使得 DDL 执行不阻塞用户业务,且能够保证用户业务可在 DDL 执行期间提交修改,在执行过程中保证对应对象的数据正确性与一致性。
online ddl 不会阻塞读写,所有应该不会锁表
你还挺认真,这是考试题
是1吧
参考下DDL执行原理吧
2,全部job,肯定不对
我选1
1.TiDB Server进行解析(Parse)和编译(Compile),生成执行计划
2执行时好像是不锁的
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。