事务基本特性和事务的隔离级别和传播机制
时间: 2023-07-20 13:07:17 浏览: 52
事务是指一组操作被视为一个单独的工作单元,并且要么全部完成,要么全部撤销。事务具有以下四个基本特性:
1. 原子性(Atomicity):事务中的所有操作要么全部完成,要么全部失败回滚,不允许只执行其中一部分操作。
2. 一致性(Consistency):事务执行前后,系统的数据状态必须保持一致。
3. 隔离性(Isolation):事务之间是相互隔离的,一个事务执行过程中,其对数据库的修改在提交前,对其他事务是不可见的。
4. 持久性(Durability):事务一旦提交,它对数据库的修改就是永久性的,即使系统崩溃也不会丢失。
事务的隔离级别是指多个并发事务之间的隔离程度,包括以下四种级别:
1. 读未提交(Read Uncommitted):一个事务还没有提交时,它做的修改就能被其他事务看到。
2. 读已提交(Read Committed):一个事务提交后,它的修改才能被其他事务看到。
3. 可重复读(Repeatable Read):一个事务执行期间,多次读取同一个数据,读到的数据始终保持一致。
4. 串行化(Serializable):所有事务按照顺序一个一个执行,不存在并发问题。
事务的传播机制是指在一个事务中调用其他事务时,它们之间的关系。主要有以下四种传播机制:
1. REQUIRED:默认传播机制,如果当前没有事务,则新建一个事务,如果已经存在事务,则加入该事务。
2. REQUIRES_NEW:每次都会新建一个事务,如果当前存在事务,则挂起该事务,等新事务执行完毕后再恢复。
3. SUPPORTS:如果当前存在事务,则加入该事务,如果没有事务,则以非事务方式执行。
4. NOT_SUPPORTED:以非事务方式执行,如果当前存在事务,则挂起该事务,等非事务执行完毕后再恢复。