MySQL5.6在线表结构变更(online ddl)总结

    MySQL从5.6.17以后,支持在线修改表结构操作(online ddl),即在变更表结构的过程中,不阻塞dml和dql操作.

  根据操作过程中是否需要表拷贝,online ddl可分为下面两大类:

1.需要表拷贝的 ddl 操作:
增加、删除、重排列。
增加、删除主键。
改变表的 ROW_FORMAT 或 KEY_BLOCK_SIZE属性。
改变的字段的null状态。
执行OPTIMIZE TABLE,优化表。
使用 FORCE 选项重建表。
使用ALTER TABLE ... ENGINE=INNODB 语句。
首次创建全文索引。


2.不需要表拷贝的 ddl 操作:
创建、增加、删除普通索引。
创建第二个及后续的全文索引。
为字段设置默认值。
改变auto-increment值。
删除外键约束。
添加外键约束( 只有在foreign_key_checks=off时)
仅仅改变列的名称
设置表的持续统计选项(STATS_PERSISTENT, STATS_AUTO_RECALC STATS_SAMPLE_PAGES)

特别说明:全文索引需要特别注意,创建了全文索引的表基本上不支持在线ddl操作。

具体说明参考mysql官方文档:http://dev.mysql.com/doc/refman/5.6/en/innodb-create-index-overview.html#innodb-online-ddl-summary-grid



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值