千家信息网

InnoDB Online DDL一瞥

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,InnoDB Online DDL特性其是在MySQL 5.6版本引入, 建立在5.5版本Fast Index Creation特性上的. 数据表变更时, 允许操作原地进行, 而不用拷贝数据,或并发D
千家信息网最后更新 2024年11月19日InnoDB Online DDL一瞥

InnoDB Online DDL特性

其是在MySQL 5.6版本引入, 建立在5.5版本Fast Index Creation特性上的. 数据表变更时, 允许操作原地进行, 而不用拷贝数据,或并发DML语句继续访问. 由此带来了数据库可用性和性能的提升.

就Online DDL提供的原地操作, 并发访问等特性, 看下实际工作中常见的16个场景

Online DDL使用可能遇到的报错

1. Online DDL内部运行时, 可能开始和结束需要获取排它锁, 其会由于正在运行的长事物而超时.

2. 数据表变更过程中,DML语句产生的日志会临时存放在参数innodb_online_alter_log_max_size指定的内存中, 可能会由于该空间较小报错DB_ONLINE_LOG_TOO_BIG, 建议负载较大的系统该参数设置为512MB或1GB.

Online DDL的局限性

若某个Online DDL操作运行时间较长, 可能会造成数据库主从复制环境的延时,影响读业务.

那么, 对于复制环境下, 较大的数据表如何进行变更呢, 稍后进行说明.


若感兴趣可关注订阅号"数据库最佳实践"(DBBestPractice).

0