auto commit
This commit is contained in:
parent
7c2454cf8e
commit
82790baf29
@ -47,7 +47,7 @@
|
|||||||
|
|
||||||
事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。
|
事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。
|
||||||
|
|
||||||
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/f74144be-857a-40cd-8ec7-87626ef4e20b.png" width="400px"> </div><br>
|
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/f74144be-857a-40cd-8ec7-87626ef4e20b.png" width="450px"> </div><br>
|
||||||
|
|
||||||
## ACID
|
## ACID
|
||||||
|
|
||||||
@ -55,11 +55,11 @@
|
|||||||
|
|
||||||
事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。
|
事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。
|
||||||
|
|
||||||
回滚可以用回滚日志来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作即可。
|
回滚可以用回滚日志(Undo Log)来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作即可。
|
||||||
|
|
||||||
### 2. 一致性(Consistency)
|
### 2. 一致性(Consistency)
|
||||||
|
|
||||||
数据库在事务执行前后都保持一致性状态。在一致性状态下,所有事务对一个数据的读取结果都是相同的。
|
数据库在事务执行前后都保持一致性状态。在一致性状态下,所有事务对同一个数据的读取结果都是相同的。
|
||||||
|
|
||||||
### 3. 隔离性(Isolation)
|
### 3. 隔离性(Isolation)
|
||||||
|
|
||||||
@ -69,7 +69,7 @@
|
|||||||
|
|
||||||
一旦事务提交,则其所做的修改将会永远保存到数据库中。即使系统发生崩溃,事务执行的结果也不能丢失。
|
一旦事务提交,则其所做的修改将会永远保存到数据库中。即使系统发生崩溃,事务执行的结果也不能丢失。
|
||||||
|
|
||||||
使用重做日志来保证持久性。
|
系统发生奔溃可以用重做日志(Redo Log)进行恢复,从而实现持久性。与回滚日志记录数据的逻辑修改不同,重做日志记录的是数据页的物理修改。
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
@ -80,11 +80,11 @@
|
|||||||
- 在并发的情况下,多个事务并行执行,事务不仅要满足原子性,还需要满足隔离性,才能满足一致性。
|
- 在并发的情况下,多个事务并行执行,事务不仅要满足原子性,还需要满足隔离性,才能满足一致性。
|
||||||
- 事务满足持久化是为了能应对数据库崩溃的情况。
|
- 事务满足持久化是为了能应对数据库崩溃的情况。
|
||||||
|
|
||||||
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/417bc315-4409-48c6-83e0-59e8d405429e.jpg" width="400px"> </div><br>
|
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/417bc315-4409-48c6-83e0-59e8d405429e.jpg" width="500px"> </div><br>
|
||||||
|
|
||||||
## AUTOCOMMIT
|
## AUTOCOMMIT
|
||||||
|
|
||||||
MySQL 默认采用自动提交模式。也就是说,如果不显式使用`START TRANSACTION`语句来开始一个事务,那么每个查询都会被当做一个事务自动提交。
|
MySQL 默认采用自动提交模式。也就是说,如果不显式使用`START TRANSACTION`语句来开始一个事务,那么每个查询操作都会被当做一个事务并自动提交。
|
||||||
|
|
||||||
# 二、并发一致性问题
|
# 二、并发一致性问题
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@
|
|||||||
|
|
||||||
事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。
|
事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。
|
||||||
|
|
||||||
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/f74144be-857a-40cd-8ec7-87626ef4e20b.png" width="400px"> </div><br>
|
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/f74144be-857a-40cd-8ec7-87626ef4e20b.png" width="450px"> </div><br>
|
||||||
|
|
||||||
## ACID
|
## ACID
|
||||||
|
|
||||||
@ -55,11 +55,11 @@
|
|||||||
|
|
||||||
事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。
|
事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。
|
||||||
|
|
||||||
回滚可以用回滚日志来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作即可。
|
回滚可以用回滚日志(Undo Log)来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作即可。
|
||||||
|
|
||||||
### 2. 一致性(Consistency)
|
### 2. 一致性(Consistency)
|
||||||
|
|
||||||
数据库在事务执行前后都保持一致性状态。在一致性状态下,所有事务对一个数据的读取结果都是相同的。
|
数据库在事务执行前后都保持一致性状态。在一致性状态下,所有事务对同一个数据的读取结果都是相同的。
|
||||||
|
|
||||||
### 3. 隔离性(Isolation)
|
### 3. 隔离性(Isolation)
|
||||||
|
|
||||||
@ -69,7 +69,7 @@
|
|||||||
|
|
||||||
一旦事务提交,则其所做的修改将会永远保存到数据库中。即使系统发生崩溃,事务执行的结果也不能丢失。
|
一旦事务提交,则其所做的修改将会永远保存到数据库中。即使系统发生崩溃,事务执行的结果也不能丢失。
|
||||||
|
|
||||||
使用重做日志来保证持久性。
|
系统发生奔溃可以用重做日志(Redo Log)进行恢复,从而实现持久性。与回滚日志记录数据的逻辑修改不同,重做日志记录的是数据页的物理修改。
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
@ -80,11 +80,11 @@
|
|||||||
- 在并发的情况下,多个事务并行执行,事务不仅要满足原子性,还需要满足隔离性,才能满足一致性。
|
- 在并发的情况下,多个事务并行执行,事务不仅要满足原子性,还需要满足隔离性,才能满足一致性。
|
||||||
- 事务满足持久化是为了能应对数据库崩溃的情况。
|
- 事务满足持久化是为了能应对数据库崩溃的情况。
|
||||||
|
|
||||||
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/417bc315-4409-48c6-83e0-59e8d405429e.jpg" width="400px"> </div><br>
|
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/417bc315-4409-48c6-83e0-59e8d405429e.jpg" width="500px"> </div><br>
|
||||||
|
|
||||||
## AUTOCOMMIT
|
## AUTOCOMMIT
|
||||||
|
|
||||||
MySQL 默认采用自动提交模式。也就是说,如果不显式使用`START TRANSACTION`语句来开始一个事务,那么每个查询都会被当做一个事务自动提交。
|
MySQL 默认采用自动提交模式。也就是说,如果不显式使用`START TRANSACTION`语句来开始一个事务,那么每个查询操作都会被当做一个事务并自动提交。
|
||||||
|
|
||||||
# 二、并发一致性问题
|
# 二、并发一致性问题
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user