当有多个事务同时执行时,可能出现以下问题
- 脏读
- 不可重复读
- 幻读
为了解决这些问题,就有了隔离级别,隔离越严实,效率越低。四种隔离级别
- 读未提交
- 读已提交
- 可重复读
- 串行化
实现上,数据库会创建一个视图。访问时以视图的逻辑结果为准
- 可重复读 : 在事务启动时创建,整个事务都用这个视图
- 读已提交 : 每个SQL语句开始执行时创建。
- 读未提交: 无视图创建
- 串行,直接加锁,避免并行访问,无视图创建
事务隔离的实现
同一条记录在系统中可以存在多个版本,此为数据库的多版本并发控制(MVCC)
当有多个事务同时执行时,可能出现以下问题
为了解决这些问题,就有了隔离级别,隔离越严实,效率越低。四种隔离级别
实现上,数据库会创建一个视图。访问时以视图的逻辑结果为准
同一条记录在系统中可以存在多个版本,此为数据库的多版本并发控制(MVCC)
来源:https://www.cnblogs.com/yeni/p/11732669.html