《插入InnoDB自增列,居然是表级别锁?》介绍了InnoDB所使用的七种锁中的一种,自增锁。
今天,将要介绍InnoDB另外三种:共享/排他锁,意向锁,插入意向锁。
一,共享/排它锁(Shared and Exclusive Locks)
《InnoDB并发为何这么高?》一文介绍了通用的共享/排它锁,在InnoDB里当然也实现了标准的行级锁(row-level locking),共享/排它锁:
(1)事务拿到某一行记录的共享S锁,才可以读取这一行;
(2)事务拿到某一行记录的排它X锁,才可以修改或者删除这一行;
其兼容互斥表如下:
S XS 兼容 互斥X 互斥 互斥即:
(1)多个事务可以拿到一把S锁,读读可以并行;
(2)而只有一个事务可以拿到X锁,写写/读写
继续阅读与本文标签相同的文章
上一篇 :
插入InnoDB自增列,居然是表锁?
下一篇 :
java面试篇之手写静态内部类实现单例
-
数据库索引,到底是什么做的?
2026-05-21栏目: 教程
-
InnoDB,select为啥会阻塞insert?
2026-05-21栏目: 教程
-
系统性能优化工具集合与使用技巧
2026-05-21栏目: 教程
-
java之Synchronized同步
2026-05-21栏目: 教程
-
java面试篇之手写静态内部类实现单例
2026-05-21栏目: 教程
