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

MySQL的并发事务问题及事务隔离级别

一、并发事务问题

1). 赃读:一个事务读到另外一个事务还没有提交的数据。
比如 B 读取到了 A 未提交的数据。
2). 不可重复读:一个事务先后读取同一条记录,但两次读取的数据不同,称之为不可重复读。
事务 A 两次读取同一条记录,但是读取到的数据却是不一样的。
3). 幻读:一个事务按照条件查询数据时,没有对应的数据行,但是在插入数据时,又发现这行数据已经存在,好像出现了 " 幻影 "

二、事务隔离级别

为了解决并发事务所引发的问题,在数据库中引入了事务隔离级别。主要有以下几种:

Read uncommitted(读未提交) :解决了更新丢失,但还是可能会出现脏读

Read committed(读提交) :解决了更新丢失和脏读问题

Repeatable read(可重复读) :解决了更新丢失、脏读、不可重复读、但是还会出现幻读

Serializable(可串行化) :解决了更新丢失、脏读、不可重复读、幻读(虚读)

1). 查看事务隔离级别
SELECT @@TRANSACTION_ISOLATION;
2). 设置事务隔离级别
SET [ SESSION | GLOBAL ] TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE }
注意:事务隔离级别越高,数据越安全,但是性能越低。

相关文章:

  • 人脸识别技术应用备案材料详细解析
  • C语言| 指针引用数组元素
  • 芒种耕耘时,codigger智启新程
  • label-studio的使用教程(导入本地路径)
  • 深入解析OSPF特殊区域类型
  • Modbus TCP 通信基础
  • ServBay 1.13.0 更新,新增第三方反向代理/内网穿透
  • DFS训练(网格图)
  • 2024年09月 C/C++(六级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • SpringBoot自动化部署实战技术文章大纲
  • 【Fiddler抓取手机数据包】
  • 多航态无人艇航态变换姿态控制系统设计与实现_可复现,有问题请联系博主
  • Spring Bean是否是线程安全的
  • aiohttp异步爬虫实战:从零构建高性能图书数据采集系统(2025最新版)
  • 深度学习之模型压缩三驾马车:基于ResNet18的模型剪枝实战(2)
  • 代码训练LeetCode(23)随机访问元素
  • 《操盘实战》速读笔记
  • AI编程助手入门指南:GitHub Copilot、Cursor与Claude的安装与基础使用
  • 轻松掌控硬件接口:LuatIO可视化工具,物联网开发的“效率加速器”!
  • 动态规划-1035.不相交的线-力扣(LeetCode)
  • 网站开发时什么时间适合创建视图/企业网站建设报价表
  • 做微信公众号的网站有哪些内容/百度怎么推广自己的网站
  • 短租网站建设/百度排名怎么做
  • adobe 网站制作软件有哪些/谷歌竞价广告
  • 物流网站开发实训/磁力库
  • 廊坊网站建设费用/新品牌推广方案