美文网首页
mysql online ddl

mysql online ddl

作者: 放开那个BUG | 来源:发表于2020-12-17 22:44 被阅读0次

    看过这些文章:
    http://blog.gerryyang.com/mysql/2018/09/28/mysql-online-ddl.html
    https://juejin.cn/post/6854573213167386637
    https://zhuanlan.zhihu.com/p/115277009

    文章之后,我觉得 mysql 5.x 的 online ddl 只是在 prepare 阶段、commit 阶段会有写锁,但是在真正执行的阶段都是读锁,不会阻塞读写。online ddl 过程如下:
    1、拿 MDL 写锁
    2、降级成 MDL 读锁
    3、真正做 DDL
    4、升级成 MDL 写锁
    5、释放 MDL 锁。
    1,2,4,5 阶段没有表冲突,执行时间非常短,只是第3阶段占用了 DDL 的绝大部分时间,这个期间表可以正常读写数据。

    最后,还想说一点,通过 DBA 得知,8.0 加列只需要一秒,牛逼

    相关文章

      网友评论

          本文标题:mysql online ddl

          本文链接:https://www.haomeiwen.com/subject/zfutnktx.html