表级别锁
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(记录锁)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!