事务

发布时间 2023-08-08 22:57:08作者: optimjie

数据库挂了、server挂了、网不通了,多个client同时修改...出现这些问题都会影响整个系统,为例保证数据库的可靠性,所以就出现了事务

从概念上讲,事务中的所有读写操作被视作单个操作来执行:整个事务要么成功提交,要么失败 中止或回滚,这样如果操作过程中出现了什么问题还可以回滚,让client重试

事务所提供的安全保证,通常由众所周知的首字母缩略词 ACID 来描述,ACID 代表 原子性(Atomicity),一致性(Consistency),隔离性(Isolation) 和 持久性(Durability)

针对多个client同时操作数据库的情况又会出现很多的问题:(隔离性)

  1. 脏读
  2. 不可重复读
  3. 幻读
  4. 更新丢失

为了避免上述事务并发问题的出现,在标准的 SQL 规范中定义了四种事务隔离级别,不同的隔离级别对事务的处理有所不同。读未提交、读已提交、可重复读、串行化

没有mvcc怎么实现:https://juejin.cn/post/6844904096378404872