mirror of
https://github.com/CyC2018/Interview-Notebook.git
synced 2026-11-06 10:14:10 +00:00
Update 数据库系统原理.md
调整高频标记。
This commit is contained in:
+6
-6
@@ -10,12 +10,12 @@
|
||||
* [脏读](#脏读)
|
||||
* [不可重复读](#不可重复读)
|
||||
* [幻读](#幻读)
|
||||
* [三、封锁](#三封锁) 🔥🔥
|
||||
* [三、封锁](#三封锁)
|
||||
* [封锁粒度](#封锁粒度)
|
||||
* [封锁类型](#封锁类型)
|
||||
* [封锁协议](#封锁协议)
|
||||
* [MySQL 隐式与显式锁定](#mysql-隐式与显式锁定)
|
||||
* [MySQL 中的锁](#mysql-中的锁)
|
||||
* [MySQL 中的锁](#mysql-中的锁) 🔥
|
||||
* [四、隔离级别](#四隔离级别) 🔥🔥
|
||||
* [未提交读(READ UNCOMMITTED)](#未提交读read-uncommitted)
|
||||
* [提交读(READ COMMITTED)](#提交读read-committed)
|
||||
@@ -34,7 +34,7 @@
|
||||
* [七、关系数据库设计理论](#七关系数据库设计理论)
|
||||
* [函数依赖](#函数依赖)
|
||||
* [异常](#异常)
|
||||
* [范式](#范式) 🔥
|
||||
* [范式](#范式)
|
||||
* [八、ER 图](#八er-图)
|
||||
* [实体的三种联系](#实体的三种联系)
|
||||
* [表示出现多次的关系](#表示出现多次的关系)
|
||||
@@ -145,7 +145,7 @@ InnoDB 在可串行化以下的隔离级别都不会自动避免这种先读后
|
||||
|
||||
产生并发不一致性问题的主要原因是破坏了事务的隔离性,解决方法是通过并发控制来保证隔离性。并发控制可以通过封锁来实现,但是封锁操作需要用户自己控制,相当复杂。数据库管理系统提供了事务的隔离级别,让用户以一种更轻松的方式处理并发一致性问题。
|
||||
|
||||
## 三、封锁 🔥🔥
|
||||
## 三、封锁
|
||||
|
||||
### 封锁粒度
|
||||
|
||||
@@ -262,7 +262,7 @@ SELECT ... FOR SHARE; -- MySQL 8.0 之前写作 LOCK IN SHARE MODE
|
||||
SELECT ... FOR UPDATE;
|
||||
```
|
||||
|
||||
### MySQL 中的锁
|
||||
### MySQL 中的锁 🔥
|
||||
|
||||
按粒度从大到小,MySQL 中的锁主要有以下几种:
|
||||
|
||||
@@ -529,7 +529,7 @@ SELECT c FROM t WHERE c BETWEEN 10 and 20 FOR UPDATE;
|
||||
- 删除异常:删除一个信息,那么也会丢失其它信息,例如删除了 `课程-1` 需要删除第一行和第三行,那么 `学生-1` 的信息就会丢失;
|
||||
- 插入异常:例如想要插入一个学生的信息,如果这个学生还没选课,那么就无法插入。
|
||||
|
||||
### 范式 🔥
|
||||
### 范式
|
||||
|
||||
范式理论是为了解决以上提到的四种异常。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user