事务的隔离级别
事务 级别 隔离
2023-09-11 14:14:44 时间
数据库系统有四个隔离级别,分别为未提交读、已提交读、可反复读、串行化
大多数数据库的默认级别就是Read
committed。比方Sql Server , Oracle。Mysql的默认隔离级别就是Repeatable read。
READ
UNCOMMITTED(未提交读)
事务A运行的操作未提交。可是事务B还是能看到改动,这时会产生脏读的情况。
READ
COMMITTED(提交读)
事务A先是读取了数据,这时事务B更改了同一数据。并已提交,这时事务A再次读取这个数据时就会发现两次数据不一致,这就产生不可反复读的现象。
REPEATABLE
READ(可反复读)
当事务A读取记录时,会对此记录加入一个共享锁,即事务B不能在事务A结束前对记录进行改动。
可能产生的问题:当运行范围查询时,可能会产生幻读。
如事务A先查询一个消费总量,接着事务B添加一条消费记录,这时事务A再次查询消费总量时,就会发现两次查询不一致
SERIALIZABLE(序列化)
加入范围锁(比方表锁,页锁等、),直到transaction A结束。以此阻止其他transaction B对此范围内的insert,update等操作。幻读,脏读,不可反复读等问题都不会发生。
|
脏读 |
不可反复读 |
幻读 |
Read uncommitted |
√ |
√ |
√ |
Read committed |
× |
√ |
√ |
Repeatable read |
× |
× |
√ |
Serializable |
× |
× |
× |
相关文章
- SQL Server-聚焦事务、隔离级别详解(二十九)
- 事务的隔离级别--全网最详细
- 【Java面试】请你简单说一下Mysql的事务隔离级别
- 面试-MySQL的四种事务隔离级别
- MySQL数据库介绍——包含索引、视图、事务、引擎
- 八、Mysql - 事务的概念 - 隔离级别 - ACID特性 - 锁
- 04-分布式事务解决方案之最大努力通知实战
- 一文讲清楚MySQL事务隔离级别和实现原理,开发人员必备知识点
- 事务隔离级别
- mysql事务隔离级别和MVCC
- 查看mysql事务的隔离级别
- SQL基础知识笔记:概述(层状/网状/关系模型)、数据类型、操作数据库能力(DDL/DML/DQL)、关系模型(主键、联合主键、外键、外键约束-性能影响、一对一、一对多、多对多、索引、索引效率)、实用SQL语句、事务(四个特性、四种隔离级别)
- Spring 事务(编程式事务、声明式事务@Transactional、事务隔离级别、事务传播机制)
- 关于数据库事务、隔离级别、锁的理解与整理(转)
- mysql中的事务隔离级别与锁
- 【MySQL】事务隔离级别详述
- mysql中不同事务隔离级别下数据的显示效果--转载