MariaDB10.3 增补AliSQL补丁---安全执行Online DDL
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,Online DDL从名字上看很容易误导新手,以为不论什么情况,修改表结构都不会锁表,理想很丰满,现实很骨感,注意这个坑!有以下两种情况执行DDL操作会锁表的,Waiting for table me
千家信息网最后更新 2025年11月08日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安全错误
数据库的锁怎样保障安全
网页版培训管理软件开发
远程数据库连接说明
数据库数字用什么类型存储比较好
宝鸡市网络安全大赛
加强系统管理确保网络安全
计算机软件开发工作求职简历
邯郸网络安全知识竞赛名单
阿里云服务器能过户吗
软件开发二本类大学
翘歌网络技术有限公司
网络安全法给微信好友
数据北京软件开发部
数据库怎么复制多行数据
数据库事务三大范式
服务器 r710
网络安全审查网络强国
瑞丽航空软件开发面试流程
银保杯银行网络安全知识
精灵盛典要关服务器了吗
湖南郴州电脑软件开发
什么是网络安全最大风险
移动端架构用什么软件开发
数据库的一个条目
asp数据库在哪
联通应用软件开发
数据库十六进制转字符串函数
触控拍照软件开发公司
在人民网网络技术部
安卓机怎么进入明朝的苹果服务器
浙江移动软件开发公司