auto commit
This commit is contained in:
parent
8c5e412cc2
commit
f8e006f604
@ -21,7 +21,7 @@
|
||||
* [函数依赖](#函数依赖)
|
||||
* [异常](#异常)
|
||||
* [范式](#范式)
|
||||
* [十四、参考资料](#十四参考资料)
|
||||
* [参考资料](#参考资料)
|
||||
<!-- GFM-TOC -->
|
||||
|
||||
|
||||
@ -93,13 +93,20 @@ T<sub>1</sub> 读取某个范围的数据,T<sub>2</sub> 在这个范围内插
|
||||
|
||||
## 封锁类型
|
||||
|
||||
排它锁 (X 锁)和共享锁 (S 锁),又称写锁和读锁。
|
||||
|
||||
- 排它锁(Exclusive),简写为 X 锁,又称写锁。
|
||||
- 共享锁(Shared),简写为 S 锁,又称读锁。
|
||||
- 一个事务对数据对象 A 加了 X 锁,就可以对 A 进行读取和更新。加锁期间其它事务不能对 A 加任何锁;
|
||||
- 一个事务对数据对象 A 加了 S 锁,可以对 A 进行读取操作,但是不能进行更新操作。加锁期间其它事务能对 A 加 S 锁,但是不能加 X 锁。
|
||||
|
||||
以上加锁规定总结如下:
|
||||
|
||||
<div align="center"> <img src="../pics//3e87de44-1c69-4365-8139-b22e8d4be347.png"/> </div><br>
|
||||
|
||||
## 封锁粒度
|
||||
|
||||
<div align="center"> <img src="../pics//1a851e90-0d5c-4d4f-ac54-34c20ecfb903.jpg" width="300"/> </div><br>
|
||||
|
||||
|
||||
应该尽量只锁定需要修改的那部分数据,而不是所有的资源。锁定的数据量越少,发生锁争用的可能就越小,系统的并发程度就越高。
|
||||
|
||||
但是加锁需要消耗资源,锁的各种操作,包括获取锁,检查锁是否已经解除、释放锁,都会增加系统开销。因此封锁粒度越小,系统开销就越大。需要在锁开销以及数据安全性之间做一个权衡。
|
||||
@ -132,7 +139,7 @@ MySQL 中提供了两种封锁粒度:行级锁以及表级锁。
|
||||
|
||||
### 2. 两段锁协议
|
||||
|
||||
加锁和解锁分为两个阶段进行。两段锁是并行事务可串行化的充分条件,但不是必要条件。
|
||||
加锁和解锁分为两个阶段进行。
|
||||
|
||||
```html
|
||||
lock-x(A)...lock-s(B)...lock-s(c)...unlock(A)...unlock(C)...unlock(B)
|
||||
@ -183,12 +190,6 @@ MySQL InnoDB 采用的是两阶段锁协议。在事务执行过程中,随时
|
||||
|
||||
强制事务串行执行,避免幻读。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 五、数据库系统概述
|
||||
|
||||
## 基本术语
|
||||
@ -376,9 +377,11 @@ Entity-Relationship,有三个组成部分:实体、属性、联系。
|
||||
|
||||
分解成 SC(Sname, Cname, Grade) 和 ST(Sname, Tname),对于 ST,属性之间是多对多关系,无函数依赖。
|
||||
|
||||
# 十四、参考资料
|
||||
# 参考资料
|
||||
|
||||
- 史嘉权. 数据库系统概论[M]. 清华大学出版社有限公司, 2006.
|
||||
- 施瓦茨. 高性能MYSQL(第3版)[M]. 电子工业出版社, 2013.
|
||||
- [MySQL 乐观锁与悲观锁 ](https://www.jianshu.com/p/f5ff017db62a)
|
||||
- [Transaction isolation levels](https://www.slideshare.net/ErnestoHernandezRodriguez/transaction-isolation-levels)
|
||||
- [Concurrency Control](http://scanftree.com/dbms/2-phase-locking-protocol)
|
||||
- [The Nightmare of Locking, Blocking and Isolation Levels!](https://www.slideshare.net/brshristov/the-nightmare-of-locking-blocking-and-isolation-levels-46391666)
|
||||
|
BIN
pics/1a851e90-0d5c-4d4f-ac54-34c20ecfb903.jpg
Normal file
BIN
pics/1a851e90-0d5c-4d4f-ac54-34c20ecfb903.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
BIN
pics/3e87de44-1c69-4365-8139-b22e8d4be347.png
Normal file
BIN
pics/3e87de44-1c69-4365-8139-b22e8d4be347.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.0 KiB |
Loading…
x
Reference in New Issue
Block a user