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

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

1)读未提交(READ UNCOMMITTED):

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

2)读已提交(READ COMMITTED):

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

3)可重复读(REPEATABLE READ):

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

4)串行化(SERIALIZABLE):

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

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

相关推荐
小卓笔记32 分钟前
MySQL库表操作
mysql
iVictor36 分钟前
MySQL 密码防暴力破解插件:Connection Control
mysql
Seven971 小时前
了解Mysql优化吗?如何优化索引?
mysql
rannn_1111 小时前
【MySQL学习|黑马笔记|Day7】触发器和锁(全局锁、表级锁、行级锁、)
笔记·后端·学习·mysql
杰克尼1 小时前
MYSQL-175. 组合两个表
数据库·mysql
DemonAvenger1 小时前
MySQL索引原理深度解析与优化策略实战
数据库·mysql·性能优化
poemyang9 小时前
十年大厂员工终明白:MySQL性能优化的尽头,是对B+树的极致理解
mysql·pagecache·顺序i/o·局部性原理·b tree·b+ tree
天宇_任11 小时前
Mysql数据库迁移到GaussDB注意事项
数据库·mysql·gaussdb
花花无缺17 小时前
MySQL 的存储引擎-InnoDB 和 MyISAM的对比
mysql
苏琢玉17 小时前
如何让同事自己查数据?写一个零依赖 PHP SQL 查询工具就够了
mysql·php