auto commit
This commit is contained in:
parent
372983e20b
commit
709d844f79
|
@ -175,7 +175,7 @@ MySQL 中提供了两种封锁粒度:行级锁以及表级锁。
|
|||
解释如下:
|
||||
|
||||
- 任意 IS/IX 锁之间都是兼容的,因为它们只是表示想要对表加锁,而不是真正加锁;
|
||||
- S 锁只与 S 锁和 IS 锁兼容,也就是说事务 T 想要对数据行加 S 锁,其它事务可以已经获得对表或者表中的行的 S 锁。
|
||||
- 这里的 X/IX/S/IS 锁都是表级锁,IX 锁和行级的 X 锁兼容,两个事务可以对两个数据行加 X 锁。(事务 T<sub>1</sub> 想要对数据行 R<sub>1</sub> 加 X 锁,事务 T<sub>2</sub> 想要对同一个表的数据行 R<sub>2</sub> 加 X 锁,两个事务都需要对该表加 IX 锁,但是 IX 锁是兼容的,并且 IX 锁与行级的 X 锁也是兼容的,因此两个事务都能加锁成功,对同一个表中的两个数据行做修改。)
|
||||
|
||||
## 封锁协议
|
||||
|
||||
|
|
|
@ -175,7 +175,7 @@ MySQL 中提供了两种封锁粒度:行级锁以及表级锁。
|
|||
解释如下:
|
||||
|
||||
- 任意 IS/IX 锁之间都是兼容的,因为它们只是表示想要对表加锁,而不是真正加锁;
|
||||
- S 锁只与 S 锁和 IS 锁兼容,也就是说事务 T 想要对数据行加 S 锁,其它事务可以已经获得对表或者表中的行的 S 锁。
|
||||
- 这里的 X/IX/S/IS 锁都是表级锁,IX 锁和行级的 X 锁兼容,两个事务可以对两个数据行加 X 锁。(事务 T<sub>1</sub> 想要对数据行 R<sub>1</sub> 加 X 锁,事务 T<sub>2</sub> 想要对同一个表的数据行 R<sub>2</sub> 加 X 锁,两个事务都需要对该表加 IX 锁,但是 IX 锁是兼容的,并且 IX 锁与行级的 X 锁也是兼容的,因此两个事务都能加锁成功,对同一个表中的两个数据行做修改。)
|
||||
|
||||
## 封锁协议
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user