MySQL中DDL对DML的影响

改表时我们总是有些忐忑,担心对线上业务的影响。因此我们常使用pt-online-schema-change等工具进行在线改表,但这些工具改表往往涉及到数据的拷贝,改表很慢,所以我们想能不能直接改表呢,到底会有哪些影响呢?

https://dev.mysql.com/doc/refman/5.6/en/innodb-online-ddl-operations.html

官方文档做了详细的说明,与我们想的不同,其实很多操作是不会阻塞表的读写的,比如加二级索引,加列等。但别高兴得太早,即使这些DDL不会阻塞读写,我们仍然不能直接改表,why?因为我们还得考虑主从延迟!

https://dev.mysql.com/doc/refman/5.6/en/innodb-online-ddl-limitations.html

MySQL 官方这篇文章中介绍到,一个DDL操作必须在主库上执行完毕才会开始在从库上执行,在主库上DDL操作进行时,是可以并发执行DML操作的,然而这些DML操作在从库上则必须等待DDL操作完毕才能开始开始执行,因此,DDL操作一定会造成主从延迟。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值