数据库 ACID及事务隔离级别

事务:并发控制和恢复的基本单位。

Atomicity原子性:事务是数据库的逻辑工作单位,事务中包括的所有操作要么都做,要么什么都不做。

Consistency一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。当运行中发生故障,有些事务尚未完成就被迫中断,这些尚未完成的事务对数据库所作的修改以及一部分写入物理数据库,这时数据库处于不一致状态。

Isolation 隔离性:一个事务的执行的不能被其他事务干扰。

Durability持久性 :一个事务一旦提交,他对数据库的修改就应该时永久性的,接下来的其他操作或故障不应该对其执行结构有任何影响。

InnoDB引擎默认的隔离级别是 可重复读。

问题:

  • 丢失更新:多个事务操作同一行后面的更新覆盖了前面的更新值。(如两个人修改同一个文件副本)
  • 脏读:读到了别人未提交的数据
  • 不可重复读:(重点在于修改)同样的条件下,你读过的数据,再次读取出来发现值不一样了
  • 幻读 : (重点在于新增或删除)同样条件下,第一次和第二次读出来的记录数不一样。

猜你喜欢

转载自blog.csdn.net/weixin_39590058/article/details/87879534