回答
Online DDL(在线数据定义语言)是 MySQL5.6 引入的技术。它允许在执行 DDL 操作时,减少或避免对表的锁定,提高系统的并发性能和可用性。
工作原理
- 复制原始表结构
Online DDL 在后台创建一个与原始表结构相同的临时表。
- 应用变更(索引或表结构)
在临时表上应用索引变更或其他表结构修改。
- 保持数据同步
在索引变更过程中,InnoDB 维护一个变更缓冲区(change buffer)来记录对原始表的写操作(插入、更新和删除),从而确保数据同步。
Online DDL(在线数据定义语言)是 MySQL5.6 引入的技术。它允许在执行 DDL 操作时,减少或避免对表的锁定,提高系统的并发性能和可用性。
工作原理
Online DDL 在后台创建一个与原始表结构相同的临时表。
在临时表上应用索引变更或其他表结构修改。
在索引变更过程中,InnoDB 维护一个变更缓冲区(change buffer)来记录对原始表的写操作(插入、更新和删除),从而确保数据同步。