亚信安慧AntDB:AntDB-M元数据锁之锁的获取(三)

5 锁的获取

5.1 锁的强弱

当线程已经持有的锁比新申请的锁更强时,认为已经持有了锁,无需再对申请锁类型加锁。锁的强弱指持有的锁与其他锁的不兼容集合大小,集合相同锁相同,集合更大锁更强,否则无强弱关系。通过锁的兼容位图进行简单的位运算即可快速判断锁的强弱。

5.2 两种锁范围

按照锁的适用范围将锁划分为两类,当然划分不是非此即彼的,会有重叠,这两类锁有各自的兼容性和锁对象管理方式。

范围锁(scoped locks)

只有三种锁(IX,S,X),主要用于GLOBAL、COMMIT、TABLESPACE、BACKUP_LOCK命名空间的对象。这几种命名空间的锁主要从整体上去限制并发操作,比如在DML访问一张表时,会先申请一个该表所属SCHEMA的IX锁,避免访问过程中该SCHEMA被修改、删除。范围锁全局每种命名空间都仅有一个锁对象,从而实现全局性的并发控制。

相关推荐
爱掘金的土拨鼠16 分钟前
国产化dm数据库锁表解锁
数据库
Xiaokai丶23 分钟前
Java 8 新特性深度剖析:核心要点与代码实战
java
灵魂猎手26 分钟前
3. MyBatis Executor:SQL 执行的核心引擎
java·后端·源码
Galaxy在掘金26 分钟前
从业8年,谈谈我认知的后端架构之路-1
java·架构
庖丁解java43 分钟前
N个Utils
数据库
努力努力再努力wz1 小时前
【c++深入系列】:万字详解模版(下)
java·c++·redis
Mr. zhihao1 小时前
SQL LEFT JOIN 与 WHERE 条件的隐藏坑
数据库·sql
2301_793086871 小时前
Redis 04 Reactor
数据库·redis·缓存
林开落L1 小时前
库的制作与原理
linux·开发语言·动静态库·库的制作
Sais_Z1 小时前
ClickHouse的学习与了解
数据库·clickhouse