2024-11-09
版权声明:本文为博主付费文章,严禁任何形式的转载和摘抄,维权必究。 本文链接:https://www.skjava.com/mianshi/baodian/detail/2009219414

回答

Online DDL(在线数据定义语言)是 MySQL5.6 引入的技术。它允许在执行 DDL 操作时,减少或避免对表的锁定,提高系统的并发性能和可用性。

工作原理

  1. 复制原始表结构

Online DDL 在后台创建一个与原始表结构相同的临时表。

  1. 应用变更(索引或表结构)

在临时表上应用索引变更或其他表结构修改。

  1. 保持数据同步

在索引变更过程中,InnoDB 维护一个变更缓冲区(change buffer)来记录对原始表的写操作(插入、更新和删除),从而确保数据同步。