随笔 - 531  文章 - 0  评论 - 3  阅读 - 10215 

 

表级别锁

1.表锁

lock tables xx read.  线程只能读

lock tables xx write 其他线程无法读写 

 

2.MDL锁(元数据锁

 MDL 是为了对表执行 CRUD 操作时,防止其他线程对这个表结构做了变更 ,反之亦然

注意 MDL 是在事务提交后才会释放, 因此长事务可能导致 修改表操作 阻塞 

 

 3. 意向锁

   给记录加锁时,会给表级别加个特别的锁

  意向锁的目的是为了快速判断表里是否有记录被加锁 ,例如判断能否加表写锁

行锁

 

唯一等值查询

  1. 不存在,加 间隙锁 (意向锁)

  2. 存在,加行锁(意向锁)

唯一范围查询

  

 

 当前读 

 select ... lock in share mode 读锁

 select ... for update 写锁

 

select .. for update(lock in share mode)  / update / delete / insert 可以触发

record lock(记录锁)

 

posted on   towboat  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示