MySQL5.7新特性之在线DDL不会锁表
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,MySQL5.7在线修改varchar字段不在锁表,测试过程如下:点击(此处)折叠或打开mysql> select version();+------------+| version() |+----
千家信息网最后更新 2026年11月01日MySQL5.7新特性之在线DDL不会锁表MySQL5.7在线修改varchar字段不在锁表,测试过程如下:
窗口一:
总结:MySQL5.7以上的版本,online DDL不会锁表。
原理:
MySQL5.7以上的版本中,在执行创建或者删除的操作同时,将DML操作日志写入一个缓存中。待修改完成之后再重做到原表上,以保住数据的一致性。这个缓存大小由innodb_online_alter_log_max_size控制,默认为128MB,若用户更改表比较频繁,在线DML业务压力较大,则innodb_online_alter_log_max_size空间不能存放日志,会抛出错误,此时可以调大innodb_online_alter_log_max_size获得更多日志缓存空间解决问题 。
点击(此处)折叠或打开
- mysql> select version();
- +------------+
- | version() |
- +------------+
- | 5.7.18-log |
- +------------+
点击(此处)折叠或打开
- mysql> select count(*) from T_USER_INFO;
- +----------+
- | count(*) |
- +----------+
- | 7147528 |
- +----------+
窗口一:
点击(此处)折叠或打开
- mysql> alter table T_USER_INFO modify column USER_NAME varchar(100);
点击(此处)折叠或打开
- mysql> delete from T_USER_INFO where user_name='rz19930119';
总结:MySQL5.7以上的版本,online DDL不会锁表。
原理:
MySQL5.7以上的版本中,在执行创建或者删除的操作同时,将DML操作日志写入一个缓存中。待修改完成之后再重做到原表上,以保住数据的一致性。这个缓存大小由innodb_online_alter_log_max_size控制,默认为128MB,若用户更改表比较频繁,在线DML业务压力较大,则innodb_online_alter_log_max_size空间不能存放日志,会抛出错误,此时可以调大innodb_online_alter_log_max_size获得更多日志缓存空间解决问题 。
命令
日志
缓存
在线
版本
空间
语句
较大
频繁
一致
一致性
业务
两个
压力
原理
同时
大小
字段
很快
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网产品
美国互联网保险保险科技
科技类互联网
金融科技与互联网金融
互联网金融公司科技
西安互联网科技
奇酷互联网科技公司
腾讯科技 互联网女皇
赫美联合互联网科技
广州优美互联网科技
受益于互联网科技的高速发展
银川新华互联网科技学校联系电话
乌苏新华互联网科技做什么的
畅思互联网科技
徐州市互联网科技有限公司
2021互联网科技公司排名
互联网营销推广黑科技
科技互联网专业务虚会材料
瑞安市蟠桃会互联网科技有限公司
银川新华互联网科技学校招聘
工业互联网科技新基建
安徽鑫晟辉互联网科技
智慧科技互联网
易通互联网络科技有限公司
互联网科技创新企业排名
深圳市运趣互联网科技有限公司
速维有品互联网信息科技(苏州)有限公司
互联网金融科技名词解释
深圳无忧互联网科技
张召忠谈中国互联网科技