事务的特性:
1.原子性
2.一致性
3.隔离性
4.持久性
事务的隔离级别:
从低到高依次为 未提交读、提交读、可重复读和串行读。
1.读未提交
可能会导致脏读。
2.读提交
可能会导致不可重复读。
3.可重复读
可能会导致幻读。
4.串行读
可避免以上问题,但牺牲效率。
事务的传播属性:
PROPAGATION_REQUIRED -- 支持当前事务,如果当前没有事务,就新建一个事务。父事务与子事务只要有一个失败,就全部回滚。
PROPAGATION_SUPPORTS -- 支持当前事务,如果当前没有事务,就以非事务方式执行。
PROPAGATION_MANDATORY -- 支持当前事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW -- 新建事务,如果当前存在事务,把当前事务挂起。父事务与子事务相互独立运行,互不影响。
PROPAGATION_NOT_SUPPORTED -- 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_NEVER -- 以非事务方式执行,如果当前存在事务,则抛出异常。
PROPAGATION_NESTED -- 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则进行与PROPAGATION_REQUIRED类似的操作。
本文详细介绍了数据库事务的四大特性:原子性、一致性、隔离性和持久性,并解释了四种不同的事务隔离级别及其可能导致的问题。此外,还阐述了七种事务的传播属性,包括它们在不同情况下的行为和应用。
751

被折叠的 条评论
为什么被折叠?



