MariaDB10.3 增补AliSQL补丁---安全执行Online DDL
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,Online DDL从名字上看很容易误导新手,以为不论什么情况,修改表结构都不会锁表,理想很丰满,现实很骨感,注意这个坑!有以下两种情况执行DDL操作会锁表的,Waiting for table me
千家信息网最后更新 2024年09月22日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安全错误
数据库的锁怎样保障安全
哪些服务器硬盘支持SATA
服务器补丁更新 管理器
四川日报网络安全宣传
云服务器搭建vmware
基准网络技术是什么
sql 数据库 查询
网络安全风险评估技术
神力科莎服务器ini文件
苹果手机提示服务器未连接
web管理软件开发平台好吗
广州风色互联网科技有限公司
贵阳网络安全技能竞赛名单
网络安全追踪案例
数据库的相关性
暗黑2重置版双开无法连接服务器
网络安全为题目的教学设计
软件开发ip
预防网络安全主题班会百度文库
新乡软件开发公众号
网络安全技术文科
贵州网络安全技能竞赛
超级管理员服务器密码
oracle数据库面试题
sipo数据库
翔瑞网络技术有限公司
在联通做软件开发
网络安全电子小报资料
无机物拉曼谱图数据库
数据库怎么认证
增员提示与数据库不符怎么回事