Java面试题:并发事务问题和事务隔离级别

并发事务问题

脏读

一个事务读到了另一个事务还没有提交的数据

幻读

按条件查询数据时发现没有数据,但插入时数据存在,就像出现了幻觉

不可重复读

同一个事务先后读取同一条记录,但两次读取的数据不同,称之为不可重复读

解决事务问题的方法

对事务进行隔离

Read Uncommitted 未提交读(不常用)

存在问题:脏读,幻读,不可重复读

Read committed 读已提交

存在问题:幻读,不可重复读 解决:脏读

Repeated Read 可重复读(mysql默认)

存在问题:幻读 解决:脏读,不可重复读

Serializable 串行化(不常用)

所有事务必须串行执行,在上一个事务完成后才能执行下一个事务

解决:脏读 幻读 不可重复读

相关推荐
zzzsde7 分钟前
【C++】深入理解string类(5)
java·前端·算法
失散139 分钟前
分布式专题——46 ElasticSearch高级查询语法Query DSL实战
java·分布式·elasticsearch·架构
wjs202411 分钟前
SQL 日期处理指南
开发语言
程序员鱼皮13 分钟前
为什么下载小电影时,进度总是卡在99%?
java·计算机·程序员·互联网·编程
川石课堂软件测试23 分钟前
CSS中常用的几种定位。
开发语言·css·python·网络协议·http·html·pytest
友友马27 分钟前
『 QT 』QT信号机制深度解析
开发语言·qt
没有bug.的程序员27 分钟前
分布式链路追踪:微服务可观测性的核心支柱
java·分布式·微服务·架构·wpf
清风wxy30 分钟前
C语言基础数组作业(冒泡算法)
c语言·开发语言·数据结构·c++·windows·算法
我是华为OD~HR~栗栗呀30 分钟前
华为OD-21届考研-Java面经
java·前端·c++·python·华为od·华为·面试
凤山老林32 分钟前
SpringBoot 启动时执行某些操作的 8 种方式
java·开发语言·spring boot·后端