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

并发事务问题

脏读

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

幻读

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

不可重复读

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

解决事务问题的方法

对事务进行隔离

Read Uncommitted 未提交读(不常用)

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

Read committed 读已提交

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

Repeated Read 可重复读(mysql默认)

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

Serializable 串行化(不常用)

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

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

相关推荐
龙猫蓝图7 小时前
IDEA新UI设置
java
Nebula_g8 小时前
C语言应用实例:斐波那契数列与其其他应用
c语言·开发语言·后端·学习·算法
梅梅绵绵冰8 小时前
SpringAOP的相关概念
java·开发语言
Xiaoyu Wang8 小时前
GC垃圾回收
java·开发语言·jvm
CodeBlossom8 小时前
Spring Cache快速入门
java·数据库·spring
麦烤楽鸡翅8 小时前
挡住洪水 (牛客)
java·数据结构·c++·python·算法·bfs·牛客
bigdata-rookie8 小时前
JVM 垃圾收集器介绍
java·jvm·算法
⑩-8 小时前
如何保证Redis和Mysql数据缓存一致性?
java·数据库·redis·mysql·spring·缓存·java-ee
大吱佬8 小时前
八股速记(自用)
java
征尘bjajmd8 小时前
Java使用okhttp发送get、post请求
java·服务器·数据库