MariaDB10.3 增补AliSQL补丁---安全执行Online DDL
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Online DDL从名字上看很容易误导新手,以为不论什么情况,修改表结构都不会锁表,理想很丰满,现实很骨感,注意这个坑!有以下两种情况执行DDL操作会锁表的,Waiting for table me
千家信息网最后更新 2026年11月01日MariaDB10.3 增补AliSQL补丁---安全执行Online DDL
Online DDL从名字上看很容易误导新手,以为不论什么情况,修改表结构都不会锁表,理想很丰满,现实很骨感,注意这个坑!
有以下两种情况执行DDL操作会锁表的,Waiting for table metadata lock(元数据表锁)
1、增加、删除字段或索引不会锁全表,删除主键、更改字段属性会锁全表,见下图所示:
2、在添加字段alter table表时,对该表的增、删、改、查均不会锁表。而在这之前,该表有被访问时,需要等其执行完毕后,才可以执行alter table,例如在会话一,故意执行一条大结果的查询,然后在会话二执行增加字段age,此时还会出现表锁,如下图所示:
针对第二种情况,MariaDB10.3 增补AliSQL补丁-DDL FAST FAIL,让其DDL操作快速失败。
语法为:
ALTER TABLE tbl_name [WAIT n|NOWAIT] ...CREATE ... INDEX ON tbl_name (index_col_name, ...) [WAIT n|NOWAIT] ...DROP INDEX ... [WAIT n|NOWAIT]DROP TABLE tbl_name [WAIT n|NOWAIT] ...LOCK TABLE ... [WAIT n|NOWAIT]OPTIMIZE TABLE tbl_name [WAIT n|NOWAIT]RENAME TABLE tbl_name [WAIT n|NOWAIT] ...SELECT ... FOR UPDATE [WAIT n|NOWAIT]SELECT ... LOCK IN SHARE MODE [WAIT n|NOWAIT]TRUNCATE TABLE tbl_name [WAIT n|NOWAIT]
例:
如果线上有某个慢SQL对该表进行操作,可以使用WAIT n(以秒为单位设置等待)或NOWAIT在语句中显式设置锁等待超时,在这种情况下,如果无法获取锁,语句将立即失败。 WAIT 0相当于NOWAIT。
参考:https://jira.mariadb.org/browse/MDEV-11388
字段
情况
语句
补丁
丰满
下图
单位
名字
属性
数据
数据表
新手
现实
理想
索引
结构
结果
语法
参考
查询
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
美国互联网保险保险科技
互联网与科技金融数据
互联网医疗科技
礼当家互联网科技
互联网科技公司官网
成都互联网科技公司
云电互联网科技
天津摩尔互联网科技
联恩商钥互联网科技有限公司
福建科技产业互联网发展
苏州五指互联网络科技有限
互联网与医疗科技
成都互联网科技公司工作好不好
互联网新科技动漫ppt素材
浙南科技城互联网大厦建设工程
九思连强互联网电子科技有限公司
互联网科技手抄报图片
玉溪新华互联网科技怎么选
广西泛欧互联网科技有限公司
互联网科技创新创业项目
今日互联网科技
善班互联网科技有限公司
互联网科技热点资讯
互联网金融科技名词解释
上海科技产业互联网平台
上海京穆互联网科技有限公司
上海钢联属于互联网科技股吗
互联网科技机房
互联网的黑科技实验室
如何强化互联网金融科技