事务
事务的ACID特性:
▪ 原子性(Atomicity)
▪ 一致性(Consistency)
▪ 隔离性(Isolation)
如果不考虑事务的隔离性:
脏读
幻读
不可重复读
事务的隔离级别:
Read uncommitted (读取未提交):最低级别,任何情况都无法保证。
Read committed (读取已提交):可避免脏读的发生。
Repeatable read (可重复读):可避免脏读、不可重复读的发生。
Serializable (序列化/串行化):可避免脏读、不可重复读、幻读的发生。
▪ 持久性(Durability)
事务的传播行为:
propagation_required : 当前没有事务,则新建一个事务。如果已经存在一个事务,则加入到这个事务中。
propagation_supports : 支持当前事务,如果当前没有事务,则以非事务方式执行。
propagation_mandatory : 使用当前事务,如果当前没有事务,则抛出异常。
propagation_requires_new : 新建事务。如果当前存在事务,则把当前事务挂起。
propagation_not_supported : 以非事务方式执行操作,如果当前存在事务,则把当前事务挂起。
propagation_never : 以非事务方式执行。如果当前存在事务,则抛出异常。
propagation_nested:如果当前存在事务,则在嵌套事务内执行;如果当前没有事务,则执行required类似的操作