当前位置: 首页 > news >正文

mysql隔离级别的学习分享

看了一下视频然后总结了一下。

隔离级别主要有

读未提交,这会出现脏读

读已提交,这回出现不可重复读,也就是拿到不同的数据在一个事务里面。

可重复读,解决不可重复读,但是会有幻读的情况。

虽然mysql使用可重复读的隔离级别,但是它使用了快照读和mvcc解决了幻读问题。

第四个就是最高级别了,串行化。这个性能有点低,但是非常安全。

那么总的来说就是有

1:Read Uncommited(脏读)

事务1开启 我们都知道mysql事务准寻acid特性,所以事务1开启以后里面的东西只要是查询应该是不会改变的。

那么首先事务1进行了数据的修改,然后事务二上来进行数据的查询,拿到了事务一的数据,但是事务一发生故障回滚了。从而发现事务二读取到的东西是事务一回滚前的数据,脏读数据就出现了。

简而言之:事务1没有提交事务,但是事务二获取到事务一没有提交事务之前的数据,也就是脏读。

2:Read Commited(不可重复读)

我感觉不可重复读有点不好理解,应该把他写成同一操作拿到不同数据。这样就好理解了。

由于事务一第一次读取数据是正常的,但是事务二进行了数据的修改并且提交,那么事务一在进行数据的读取拿到的数据就已经被修改了,所以就出现了问题,也就是不可重复读。

3:Repeatable Read(幻读)

可重复读,也就是拿到了一样的数据,保证了事务的一致性。

一样的数据指的是修改数据内容。而不是数据的数量。

比如说update 多事务进行更改然后查询没有问题。

但是insert这种进行行数修改的,可能就会出现幻读的情况。

所以我们区分与幻读和可重复读,幻读用的是数据行数,可重复读是数据内容。

4:串行化

全部解决,但是花销比较大。

http://www.xdnf.cn/news/487531.html

相关文章:

  • python可视化:北方省市人口流动与春运数据综合分析5
  • Java项目使用Tomcat启动后JS文件中的中文乱码问题
  • CRM客户管理系统有什么缺点?
  • 矩阵转置的LATEX写法
  • 阿里视频创建和编辑的一体化模型论文速读:Wan2.1-VACE-14B
  • 【24真题】华中师范大学838
  • 开发工具指南
  • 深入剖析与解决:`DELETE net::ERR_CONNECTION_RESET` 错误全指南
  • 【GNN笔记】Signed Graph Convolutional Network(12)【未完】
  • 框架的源码理解——V3中的ref和reactive
  • PHP中的SPL(标准PHP库):提升开发效率的工具集
  • base64加密为何可以直接找三方网站解密
  • 2025年上软考 考试时间+准考证打印全攻略
  • 基于 Flink 的实时推荐系统:从协同过滤到多模态语义理解
  • nnUNet V2修改网络——暴力替换网络为UCTransNet
  • 分布式 ID 生成的五种方法:优缺点与适用场景
  • Windows系统功能管控指南 | 一键隐藏关机键/禁用任务管理器
  • LLM学习笔记(五)概率论
  • 深入剖析Spring Boot参数校验:实现原理、自定义注解组件与国际化多语言实践
  • SEO长尾关键词优化策略解析
  • 基于vue框架的订单管理系统r3771(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • Solon Ai Flow 编排开发框架发布预告(效果预览)
  • CSS:三大特性
  • C++性能测试工具——Vtune等的介绍
  • 嵌入式项目生命周期模型-瀑布模型
  • 嵌入式开发书籍推荐
  • SpringMVC 内容协商处理
  • python训练 60天挑战-day27
  • 【知识点】语义分割任务中有哪些损失函数?
  • 操作系统-锁/内存/中断/IO