数据库

2021年2月26日 10点热度 0条评论 来源: 滚筒洗衣机xin

数据库事务:

对数据库的一组操作序列。

数据库的四大属性(ACID特性):

  1. 原子性:事务中对数据库的操作要么全部执行,要么全部不执行
  2. 隔离性:多个事务并发执行时,一个事务的执行不应影响其他事务的执行,事务之间具有独立性
  3. 一致性:事务将数据库从一个一致性状态转变到另一个一致性状态,转变前后数据库的数据满足完整性约数
  4. 持久性:一个事务一旦提交,他对数据库的修改应该永久保存在数据库中

多事务并发执行的问题:

  • 脏读:事务1读取了事务2修改但提交失败的数据
  • 不可重复读:事务1读取了事务2修改并提交前后不一致的数据
  • 幻读:事务2修改并提交后插入了修改前的数据

数据库的隔离级别:

  • 读未提交:写事务阻止其他写事务,避免了更新遗失,但是未阻止读事务
  • 读已提交:写事务阻止读写事务,读事务不会阻止其他事务。解决脏读问题
  • 可重复读:读事务会阻止其他写事务,但不会阻止其他读事务。解决脏读、不可重复读问题
  • 串行化:读加共享锁,写加排他锁。读事务可并发。但是读写,写写互斥,基本上是一个个执行事务,所以叫做串行化。解决脏读、不可重复、幻读问题
    原文作者:滚筒洗衣机xin
    原文地址: https://blog.csdn.net/Huang_JinXin/article/details/114155748
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。