当前位置:网站首页>Mysql隔离级别
Mysql隔离级别
2022-04-23 06:23:00 【cqwoniu】
一、事务的四个特性
事务的隔离级别是ACID,也就是原子性、一致性、隔离性、持久性。
1、原子性
原子性意味着整个事务的操作要么全部提交成功,要么全部失败回滚。
2、一致性
一致性的意思是数据库总是从一个一致性的状态转化到另一个一致性的状态,事务没有提交的话,所做的修改就不会保存到数据库中。
3、隔离性
一个事务所做的修改在最终提交以前,对其他事务是不可见的。
4、持久性
一旦事务提交,所做的修改会永久的保存到数据库中。
实现了ACID的数据库,通常会需要更强的cpu处理能力和更大的内存和更多的磁盘空间。
二、如果没有隔离,会出现什么问题?
1、脏读
事务A | 事务B |
---|---|
开启事务A | |
开启事务B | |
查询余额为100 | |
增加余额至150 | |
查询余额为150 |
为什么说是脏读呢,因为没有提交,如果回滚的话,那么此时读取到的数据也只是镜花水月。
2、不可重复读
事务A | 事务B |
---|---|
开启事务A | |
开启事务B | |
查询余额为100 | |
增加余额至150 | |
查询余额为100 | |
提交事务 | |
查询余额为150 |
是指一个事务范围内,多次查询某个数据,却得到不同的结果。
在第一个事务中的两次读取数据之间,由于第二个事务的修改,第一个事务两次读到的数据可能就是不一样的。
3、幻读
事务A | 事务B |
---|---|
开启事务A | |
开启事务B | |
查询id<3的记录有3条 | |
增加一条id=2的记录 | |
提交事务 | |
查询id<3 的记录有四条 |
再比如事务 T1 对一个表中所有的行的某个数据项做了从“1”修改为“2”的操作,这时事务 T2 又对这个表中插入了一行数据项为“1”的数据,并且提交给数据库。而操作事务 T1 的用户如果再查看刚刚修改的数据,会发现数据还是 1,其实这行是从事务 T2 中添加的,就好像产生幻觉一样,这就是发生了幻读。
幻读和不可重复读的都是读取到的已经提交的数据,但是幻读针对的是一批数据,而不可重复读针对的是一行数据。
三、事务的隔离级别
1、未提交读
事务中的修改,即使没有提交,对其他事务也是可见的,事务可以读取到未提交的数据,未提交读不能避免上述任何一个问题。
2、读已提交
一个事务开始时,只能看到已经提交的事务所做的修改。可以避免脏读。
3、可重复读
同一个事务中,多次读取的结果是一样的。可以避免脏读和可重复读,但是避免不了幻读。
4、串行化
是最高的隔离级别,强制事务串行执行,避免幻读、不可重复读、脏读问题,串行会在每一行的数据上都加锁,所以可能会导致大量的超时和锁争用问题。只有在确保数据的一致性而且可以接受大量并发的情况下,才考虑采用该级别。
版权声明
本文为[cqwoniu]所创,转载请带上原文链接,感谢
https://blog.csdn.net/cqwoniu/article/details/124306036
边栏推荐
- Tensorflow安装后ImportError: DLL load failed: 找不到指定的模块,且国内安装缓慢
- 理解补码的要点
- Typora操作技巧说明(一).md
- 字节数仓实习生面试sql题
- PyTorch 20. Pytorch tips (continuously updated)
- 可视化之路(十二)Collection类详解
- USO technology was invited to share the technical framework and challenges of AI synthetic virtual characters at lvson2020 conference
- go语言切片操作
- 地铁无线对讲系统
- 直观理解熵
猜你喜欢
可视化之路(十二)Collection类详解
学习笔记5-梯度爆炸和梯度消失(K折交叉验证)
华为云MVP邮件
PC端一次启动多个微信
Metro wireless intercom system
Flexible blind patch of ad hoc network | Beifeng oil and gas field survey solution
Intelligent communication solution of Hainan Phoenix Airport
枫桥学院开元名庭酒店DMR系统解决方案
Machine vision series (01) -- Overview
可视化常见绘图(一)堆叠图
随机推荐
How to improve the service efficiency of the hotel without blind spots and long endurance | public and Private Integrated walkie talkie?
可视化常见绘图(一)堆叠图
关于'enum'枚举类型以及结构体的问题。
Transformer的pytorch实现
可视化常见绘图(五)散点图
枫桥学院开元名庭酒店DMR系统解决方案
PyTorch 11. Regularization
go语言映射操作
PyTorch 14. Module class
PyTorch 19. Differences and relations of similar operations in pytorch
Machine vision series (01) -- Overview
菜菜的并发编程笔记 |(九)异步IO实现并发爬虫加速
Solution of self Networking Wireless Communication intercom system in Beifeng oil and gas field
字节数仓实习生面试sql题
Typora操作技巧说明(一).md
JDBC连接池
Unable to determine the device handle for GPU 0000:02:00.0: GPU is lost.
kaggle-房价预测实战
PyTorch 10. Learning rate
可视化之路(十二)Collection类详解