SSM-Spring-数据库事务管理-数据库的相关知识

SSM-Spring-数据库事务管理-数据库的相关知识


数据库事务ACID的特性

​ 数据库事务正确执行的 个基础要素是:

  • 原子性:整个事务的所有操作,要么全部完成,要么都不完成,不可能停留在中间某个环节,事务执行发送错误,会被回滚到开始前的状态
  • 一致性:一个事务可以改变封装状态,事务必须始终保持系统处于一致状态
  • 隔离性:两个事务之间的隔离程度(难理解)
  • 持久性:事务完成后,该事务对数据库所做的更改便持久保存在数据库之中,不会被回滚

丢失更新

​ 当数据库在一个事务的环境中运行,多个事务的并发会产生一系列问题,主要问题之一是丢失数据


隔离级别

​ 在不同程度上减少丢失更新,按照SQL的标准规范,把隔离级别分为4层:

  1. 脏读(dirty read):最低隔离级别,允许一个事务读取另一个事务中未提交的数据
  2. 读写提交(read commit):一个事务只能读取另一个已提交的数据。
  3. 可重复读(repeatable read):使得同一条数据库记录读写按照序列化进行操作,不会产生交叉情况,保证数据的一致性
  4. 序列化(Serizlizable):让SQL按照顺序读写的方式

各类隔离级别和产生现象:

隔离级别 脏读 不可重读 幻读
脏读 1 1 1
读写提交 0 1 1
可重复读 0 0 1
序列化 0 0 0

猜你喜欢

转载自blog.csdn.net/weixin_43958223/article/details/115355603