文章目录
事务
- 事务
- 短事务
-
- 悲观的并发控制
- 隔离层次
- 自动恢复
- 可编程的恢复
- 长事务
事务是一个逻辑工作单元,由一条或多条用户执行的SQL语句组成。 事务是数据库一致性的单元,数据库的状态在事务完成之后应该还是一致的。
DBMS事务管理有两个作用:数据库恢复和并发控制。
事务开始于第一条可执行的SQL语句,也可能以begin事务语句开始,以commit或rollback语句结束,commit语句将修改持久写入数据库中,rollback语句撤销这个事务所做的任何修改。
事务具有ACID的性质:
- 原子性:事务的所有操作在数据库中要么全部正确的反映出来,要么完全不反映。
- 一致性:隔离执行事务时(换言之,没有其他事务并发执行时)保持数据库的一致性。
- 隔离性:尽管多个事务可能并发执行,但系统保证,对于任何一对事务Ti和Tj,在Ti看来,Tj或者在Ti开始之前已经完成执行,或者在Ti完成之后开始执行。因此,每个事务都感觉不到系统中有其他事务在并发执行。
- 持久性:当一个事务完成后,它对数据库的改变必须是永久的,即使系统出现故障。