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

Mysql四种事务隔离级别(简易理解)

  1. 读未提交:简单理解就是读到没有提交事务的执行结果;
  2. 读已提交:简单理解就是只能读到已经提交的事务执行结果;
  3. 可重复读:简单理解就是确保并发读取数据库时,读到的数据一致,这是mysql默认隔离级别;
  4. 可串行化:简单理解就是通过强制事务排序,使之不可能互相冲突,从而解决幻读问题

上述四种隔离级别,层层递进,级别越来越高。那么以上四种隔离级别分别会出现什么问题呢?

读未提交脏读不可重复读幻读
读已提交不可重复读幻读
可重复读幻读
可串行化

表格中大家也看到了,四种隔离界别分别会出现的问题,那么可能有兄弟们会问,我应该怎么理解记忆呢?

因为在我刚接触的时候也是不容易记住,接下来我就简单阐述一下我的理解过程。

首先,我们需要对脏读不可重复读以及幻读的概念需要理解。

脏读:就是读到了没有提交的事务执行结果。

因为在数据库中我们可以手动改提交事务,如果设置了手动提交事务,那么在我们执行了一条sql语句没有提交事务时,当有一个事务读数据时就会出现读到未提交的事务执行结果,这就是脏读。大家可以这样理解,就是明明没有的数据我读到了,在我这里很嫌弃,很脏。

不可重复读:就是两次的读操作,读到的数据不一致。

不可重复读的概念可以和可重复的隔离界别概念一起理解,可重复读的含义就是两次读的数据一致,所以叫可重复读。就是因为两次读的数据一致,我才可重复读呀。不可重复就反之,两次读的数据不一致。请注意不可重复读的影响是行级别的,就是说只能影响一行数据是否一致而已,注意区分影响表级别。

幻读:就是两次的读操作,读到的数据列不一致。

和不可重复读概念相似,只是影响级别是表级别的。

这样的话,大家就理解了吧。 

http://www.lryc.cn/news/266055.html

相关文章:

  • react中使用redux最简单最方便的方式,配合rematch简化操作,5分钟学会
  • vmware安装中标麒麟高级服务器操作系统软件 V7.0操作系统
  • OpenCV | 霍夫变换:以车道线检测为例
  • 【C#与Redis】--目录
  • html旋转相册
  • Plantuml之对象图语法介绍(十九)
  • 深度学习(八):bert理解之transformer
  • R语言中的函数28:Reduce(), Filter(), Find(), Map(), Negate(), Position()
  • RTP/RTCP/RTSP/SIP/SDP/RTMP对比
  • Centos安装vsftpd:centos配置vsftpd,ftp报200和227错误
  • 软件测试职业规划
  • C语言数据结构
  • PHP之Trait理解, Trait介绍
  • SpringMVC:执行原理详解、配置文件和注解开发实现 SpringMVC
  • 增量式旋转编码器在STM32平台上的应用
  • INFINI Gateway 如何防止大跨度查询
  • 【模式识别】探秘分类奥秘:最近邻算法解密与实战
  • 【Redis】分布式锁
  • Linux访问firefox 显示Error: no DISPLAY environment variable specified
  • 线性回归简介
  • Log4net 教程
  • test-01-java 单元测试框架 junit 入门介绍
  • Linux系统中跟TCP相关的系统配置项
  • python图片批量下载多线程+超时重试
  • 冒泡排序之C++实现
  • 【Spring实战】04 Lombok集成及常用注解
  • ubuntu-22.04.3 配置
  • [工具]java_sublime的快速使用
  • 【银行测试】银行金融测试+金融项目测试点汇总...
  • 将PPT的图保持高分辨率导入到Word / WPS中