老生常谈,MySQL事务隔离级别

在 MySQL 关系型数据库中,事务隔离级别主要有以下四种:

1)读未提交(READ UNCOMMITTED):

这是最低的隔离级别,在该级别下,一个事务可以看到另一个事务尚未提交的数据修改。这可能会导致脏读问题,即读取到其他事务未提交的数据;

2)读已提交(READ COMMITTED):

在这个级别下,一个事务只能看到已经提交的其他事务所做的修改。这可以避免脏读问题,但是可能会引发不可重复读问题,即在同一个事务中,相同的查询可能返回不同的结果;

3)可重复读(REPEATABLE READ):

在这个级别下,确保在一个事务中的多个查询返回的结果是一致的。这可以避免不可重复读问题,但是可能会引发幻读问题,即在同一个事务中,多次查询可能返回不同数量的行(MySQL 默认的隔离级别);

4)串行化(SERIALIZABLE):

这是最高的隔离级别,在这个级别下,事务串行执行,即每个事务都会等待前一个事务执行完毕才会开始执行。这可以避免所有的并发问题,但是会大大降低并发性能。

这些问题相信大家也都很了解了,必学必问,但是不可重复读与幻读有什么区别呢???

相关推荐
关关长语7 小时前
Wsl解决MySQL容器跨域权限问题
mysql·docker·容器
这个DBA有点耶8 小时前
索引碎片与统计信息维护:执行计划突然变差的隐形杀手
mysql·程序员·架构
Mico1810 小时前
MySQL 8.0.35 GTID 主从复制搭建-基于GITD
android·mysql·adb
Ethan010712 小时前
Mybatis数据源切换
mysql
kali-Myon13 小时前
深入 MySQL 内核:从临时哈希表分配机制详解 Floor 报错注入核心原理
数据库·sql·mysql·安全·web
Ethan010716 小时前
pt-deadlock-logger 检测死锁
mysql
Ethan010716 小时前
数据库死锁-应用层重试
mysql
宠友信息1 天前
消息序号如何保证即时通讯源码聊天记录稳定加载
java·spring boot·redis·python·mysql·uni-app
笨蛋不要掉眼泪1 天前
MySQL架构揭秘:慢查询日志详解
数据库·mysql·架构
️学习的小王1 天前
MySQL 实战:从建表到索引管理的完整指南
数据库·mysql·oracle