mysql ddl online原理_浅谈MySQL Online DDL(中)

本文首发于个人微信公众号《andyqian》,期待你的关注!

前言

在上一篇文章中《浅谈MySQL Online DDL (上)》中,我们谈到了MySQL Online DDL的由来,还介绍了聚簇索引与二级索引的区别。今天,我们继续谈谈MySQL Online DDL。

Online DDL优点

在上篇文章中,我们知道了『快速索引创建』的优点,对于MySQL 5.7版本来说,这也就成为了Online DDL的优点了,而且增强了不少。优点如下: 不影响生产环境数据库运行,在DDL操作时,不影响生产上的查询,以及DML操作。

减少在创建,修改二级索引时,带来没必要的数据复制,临时表创建时的磁盘与IO开销。

能够人为通过Lock语句平衡性能与开销。

Online DDL语法

Online DDL语法上,其实并没有特殊的之处的。我们知道Online DDL这个概念在MySQL5.6首次出现,虽然在语法上没有特殊的之处,但官方为我们在原来的DDL语法上添加了一些控制性能与并发的属性,这里以alter为例(如下所示):

演示MySQL版本: 5.7.20 alter table t_base_user modify telephone varchar(50),lock=none ;

上面这条语句非常简单,就是修改 t_base_user 表中 telephone字段属性。

其中 lock=none 是我们比较陌生的,这个就是MySQL5.6中用来控制性能的属性,需要注意的是,在MySQL5.6之前的版本中,这样的语法是不支持的。执行时会直接报语法不支持的错

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值